PHP:邮件命令的自定义参数?

时间:2010-08-14 04:45:11

标签: php smtp email sendmail

我使用mstmp从各种smtp帐户发送邮件。使用PHP的mail命令,它成功使用默认帐户从mstmp发送邮件。

但是,我想让它指定要发送的smtp帐户。使用mstmp,您可以使用以下命令执行此操作:msmtp --account = svh其中svh是您命名的smtp帐户。有关msmtp的更多信息,请访问:msmtp sourceforce

那么我有什么选择,是否有一个修改过的邮件命令可以让我使用--account参数来使用msmtp?我应该只运行具有root权限的shell命令(不想这样做)。

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

看起来msmtp有一种方法可以将配置定义为系统范围,因此www-data实际上可以运行命令并拥有我需要的电子邮件。爱msmtp。

编辑:这是我快速而肮脏的功能,可以做我想做的事情,以后有人需要这个。我强烈建议你做更多的错误检查。

function msmtp($To, $Subject, $Body, $Headers, $Account) {
    $Email = "To: $To\nSubject: $Subject\n$Headers\n\n$Body\n";
    exec("echo '$Email' | msmtp --account=$Account $To");
}

它非常类似于PHP mail()函数,因此您可以使用msmtp帐户“apple”发送电子邮件作为stevejobs,如下所示:

msmtp(“ billgates@microsoft.com ”,“嘿,请阅读此内容”,“你太富有了,给我所有的钱”,“< strong>来自:stevejobs@apple.com “,”苹果“)