Lotus Notes неправильно обрабатывает мою электронную почту - PullRequest
1 голос
/ 18 июля 2011

У меня есть приложение php, которое отправляет электронную почту пользователям. Для большинства пользователей это просто отлично.

Однако пользователи Lotus Notes для своего почтового клиента получают электронное письмо, которое начинается с некоторых заголовков, которые я добавил к сообщению.

Я попытался изменить окончание строки, но безрезультатно.

Вот код, который отправляет электронные письма. (в цикле - $ row из базы данных).

    $to = $row['email'];
    $subject = $language['summary'];
    $headers = "From: $from\n".
        "Reply-To: $from"."\n" ;
    if (!mail($to, $subject, $body,$headers,"-f$from")) {
        echo("<p>Message delivery failed to $to</p>");
    }

Lotus Notes рассматривает X-Mailer: PHP / 5.3.2-1ubuntu4.7 как первую строку содержимого!

Кто-нибудь знает, почему и как я могу изменить электронную почту для правильной работы?

Редактировать - 1 августа - Пробовал \ r \ n и PHP_EOL как окончания строк. Ничто не работает с заметками. Everythgin работает с любым другим протестированным MTA.

1 Ответ

0 голосов
/ 18 июля 2011

Вы используете непоследовательные разрывы строк для своих заголовков.Используйте \r\n для обоих:

$headers = "From: $from\n".
    "Reply-To: $from"."\r\n" ;

// Should be
$headers = "From: $from\r\n".
    "Reply-To: $from\r\n" ;

В зависимости от того, как MTA обрабатывает SMTP-транзакцию, сбой выше может помочь вам использовать константу PHP_EOL для разрывов строк:

$headers = "From: $from" . PHP_EOL .
    "Reply-To: $from" . PHP_EOL ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...