PHP: Пользовательские параметры для команды mail? - PullRequest
2 голосов
/ 14 августа 2010

Я использую mstmp для отправки почты с разных учетных записей smtp. Используя PHP-команду mail, он успешно отправляет почту из mstmp, используя учетную запись по умолчанию.

Однако я хочу, чтобы он позволил мне указать, с какой учетной записи SMTP отправлять сообщения. Используя mstmp, вы делаете это с помощью следующей команды: msmtp --account = svh, где svh - это учетная запись smtp, которую вы называете. Больше о msmtp можно найти здесь: msmtp sourceforce

Итак, какие у меня варианты, есть ли модифицированная почтовая команда, которая позволит мне использовать msmtp с использованием параметра --account? Должен ли я просто запустить команду оболочки с привилегией root (не хочу этого делать).

Как бы вы занялись этим?

1 Ответ

2 голосов
/ 14 августа 2010

Похоже, у msmtp есть способ определить конфигурацию для всей системы, чтобы www-data могла действительно запустить команду и получить нужные мне электронные письма. Любовь MSMTP.

Edit: Вот моя быстрая и грязная функция, чтобы делать то, что я хотел, в случае, если кому-то это понадобится позже. Я настоятельно рекомендую вам больше проверять ошибки.

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");
}

Очень похоже на функцию mail mail () PHP, поэтому вы отправляете электронное письмо в виде stevejobs для оплаты счетов следующим образом, используя учетную запись msmtp «apple»:

msmtp ("billgates@microsoft.com", " Эй, пожалуйста, прочитайте это", "Вы слишком богаты, дайте мне все свои деньги ", " От: stevejobs@apple.com "," apple")

...