php - 如何使用 sendmail 而不是邮件通过 PHP 发送?

标签 php sendmail

我有一个像这样发送电子邮件的代码,但我宁愿使用 sendmail 而不是默认的 php 邮件程序,因为我想跳过一些 php.ini 设置:

    $to = $_POST['email'];
    $subject = "Subject.";
    $header = "From: Me <me@me.com>\r\n"; 
    $header.= "MIME-Version: 1.0\r\n"; 
    $header.= "Content-Transfer-Encoding: 7bit\r\n";
    $header.= sprintf("Content-Type: %s; charset=\"%s\"","text/html","utf-8")."\n\n";

    mail($to, $subject, $html_msg, $header);

我需要更改什么才能使用 /usr/sbin/sendmail

我可以使用 popen 吗?

最佳答案

如果您使用的是类 Unix 系统,那么 PHP 的“默认邮件程序” sendmail,因此您实际上不必更改任何内容,如果这就是您所需要的。

更多详细信息,您可以在文档(http://us3.php.net/manual/en/mail.configuration.php)中查看相关的 php.ini 配置选项。

如果您不想使用 mail(),那么可以,您可以使用 popen 与 sendmail 通信,尽管您可能想使用第三个 -派对邮寄包裹,例如 Swiftmailer ,这(除了能够通过 smtp/sendmail/postfix 发送电子邮件之外)还可以更轻松地确保发送的电子邮件格式正确。

关于php - 如何使用 sendmail 而不是邮件通过 PHP 发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662489/

相关文章:

php - 仅当客户未使用优惠券时,才将优惠券添加到处理订单电子邮件中

php - 15 个字符字母数字字符串的 MD5 碰撞概率

Linux - 550 访问被拒绝 - 无效的 HELO 名称(参见 RFC2821 4.1.1.1)

node.js - 在 Node js 中测试 catchAll 电子邮件的域

php - PHP mail() 错误 : Multiple or malformed newlines found in additional_header

php - 为什么我无法获取在我的 &lt;input type ="file"> 中选择的文件?

php - Mysqli 段错误

javascript - 将 PHP preg_replace 转换为 javascript 并将其设置为递归

smtp - sendmail 错误 452 这个小时收到的收件人太多

jQuery onClick 打印屏幕并发送图像电子邮件