msmtp не может отправлять электронные письма с php при установке "От"

Я сделал небольшой тестовый скрипт php, который отправляет электронное письмо вроде этого:

$headers = 'From: ' . $_POST["from"];
if (mail ($_POST["to"], $_POST["subject"], $_POST["body"], $headers)) {
  echo "Mail sent";
} else {
  echo "Problem sending email";
}

Это нормально работает на сервере с Postfix.

При попытке с msmtp он игнорирует From и жалуется:

msmtp: учетная запись по умолчанию из /etc/msmtprc: адрес конверта отсутствует

Содержимое конфигурационного файла:

# cat /etc/msmtprc

account default
host localhost
port 25

Я попытался установить from в этом файле, и это сработало, но перезаписал From, который я передал в php.

Спасибо за вашу помощь

1 ответ

Решение

Я нашел это.

Документация здесь гласит: https://wiki.archlinux.org/index.php/Msmtp:

Найдите опцию sendmail_path в вашем php.ini и отредактируйте так:

sendmail_path = "/usr/bin/msmtp -C /path/to/your/config -t"

Что, конечно, не сработало. Посмотрев на возможные аргументы, я нашел тот, который работает:

sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -t --read-envelope-from"

ура

Другие вопросы по тегам