是";linux中的mail命令";开火然后忘记还是等到邮件发送?

是";linux中的mail命令";开火然后忘记还是等到邮件发送?,linux,multithreading,email,postfix-mta,Linux,Multithreading,Email,Postfix Mta,我正在尝试使用以下代码从我的应用程序服务器发送邮件 FILE *mailer = popen("/usr/bin/mail -s 'Some subject here' user@domain", "w"); fprintf(mailer, "Hello %s,\nThis note is to inform you that your job completed successfully.\n", username); pclose(mailer); 问题是,我需要分叉一根线来完成这项工作吗

我正在尝试使用以下代码从我的应用程序服务器发送邮件

FILE *mailer = popen("/usr/bin/mail -s 'Some subject here' user@domain", "w");
fprintf(mailer, "Hello %s,\nThis note is to inform you that your job completed successfully.\n", username);
pclose(mailer);
问题是,我需要分叉一根线来完成这项工作吗?
如果“邮件”命令是“发出并忘记”而不是“等待发送”,则
我想我不需要一个单独的线程


我正在为MTA使用后缀。

通常不使用<代码>邮件将启动邮件传输代理,将邮件交给它,并让它在后台运行。如果设置了
sendwait
选项,它将等待发送。这在使用MTA(如sendmail或postfix)和直接使用SMTP(受
SMTP
选项的影响)时都适用

因此,您需要知道是否设置了
sendwait
选项-如果您没有在命令行上设置它,那么可以在
.mailrc
中设置它,或者将其设置为环境变量


如果您想了解更多信息,手册页将详细介绍所有这些信息。

谢谢!手册页上说:由于许可原因,完整的gnu mailutils手册在debian系统中不可用。。。。太大了,医生,你能告诉我去哪里看医生吗?真奇怪。Fedora有传家宝邮件而不是GNU,因此它有手册页。我的邮件版本的手册页是-只需查找“sendwait”