sSMTP From: заголовок не работает

У меня проблемы с настройкой sSMTP. Он отлично работает для отправки электронных писем, я их получаю, но полностью игнорирует мой заголовок «От:»!
Адрес from всегда «[email protected]», если sSMPT запускается через функцию php mail, или «[email protected]», если запускается через сеанс ssh, вошедший в систему как root. Так что я думаю, что он всегда использует текущего пользователя и использует его в качестве адреса «От:».

Теперь я знаю, что вы можете установить FromLineOverride=YES чтобы разрешить использовать свой собственный адрес From, я установил это в моем конфиге sSMPT, но это не работает. Это просто игнорирует это полностью.

Вот мои настройки:

Конфигурация sSMTP:

 # The user that gets all the mails (UID < 1000, usually the admin)
[email protected]

# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
mailhub=mydomain.com:587

# The address where the mail appears to come from for user authentication.
# [email protected]
# i have tried this function above in different ways, doesnt change anything...

# The full hostname
hostname=mydomain.com

# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes

# Username/Password
AuthUser=info
AuthPass=password

# Email 'From header's can override the default domain?
FromLineOverride=YES

PHP скрипт для проверки функции почты:

<?PHP
$empfaenger = "[email protected]";
$betreff = "Testing Mailserver";
$text = "It seems to work";
$extra = "From:Info <[email protected]>\r\n";
// i have tried "From: Info..." with a space inbetween From: and Info.
if(mail($empfaenger, $betreff, $text, $extra)) {
echo 'E-Mail sent';
}
?>

Так что я не получаю ошибок, почта проходит, почтовый сервер работает на моем локальном компьютере и просматривает почту, и я могу подтвердить, что почтовый сервер не меняет адрес, с которого он был отправлен, он просто получает то, что получает от sSMTP.

Что я делаю неправильно?

ура

Изменить: Попробовал следующее, как предложено DannySMc

<?PHP
$empfaenger = "[email protected]";
$betreff = "Testing Mailserver";
$text = "Seems to work";
$extra = "From: [email protected] \r\n".
'Reply-To: [email protected] '."\r\n" .
"Return-Path: [email protected]\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($empfaenger, $betreff, $text, $extra)) {
echo 'E-Mail versendet';
}
?>

Все еще не работает. Я все еще вижу почту, приходящую с [email protected]

0

Решение

Попробуйте следующее, добавив это в ваш php скрипт:

$email_message = "Something here";
$email_subject = "a subject";
$email_recipient = "[email protected]";
$email_headers = "From: [email protected] \r\n".
'Reply-To: [email protected] '."\r\n" .
"Return-Path: [email protected]\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_recipient, $email_subject, $email_message, $email_headers);
0

Другие решения

Я не мог решить эту проблему. Если у кого-то еще есть эта проблема, единственное, что вы можете попробовать, это FromLineOverride=YES если это не работает, вы в значительной степени облажались.

Я, например, перешел с sSMTP на обычную sendmail, которая работает как шарм.

ура

0

sSMTP является популярным выбором в качестве простой замены sendmail для ретрансляции почты php в контейнерах докеров. Если кто-то сталкивается с этим вопросом, потому что он использует sMTP с контейнерами Docker и не может заставить заголовок from выглядеть правильно в php-письмах, тогда я рекомендую перейти к msmtp. Его легко установить и использовать в стандартных образах php-докеров.

0
По вопросам рекламы [email protected]