Правильный ли заголовок моего электронного письма? - PullRequest
0 голосов
/ 04 мая 2009

Неправильно ли следующий заголовок "From"?

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    // Additional headers
    $headers .= 'From: Mail Master <mail@mailmaster.com>' . "\r\n";
if(sendEmailNow($email, $subject, $body, $headers)){

Я получаю ошибку от своего почтового сервера. Там написано "Почта от ошибки: синтаксическая ошибка".

Спасибо всем за любую помощь.

Обновление

Я сократил функцию SendEmailNow до приведенной ниже, и я получил ту же ошибку:

//send an email
function sendEmailNow($email, $subject, $body, $headers){

    if (mail($email, $subject, $body, $headers)) {
      ##check email
      ##code to say email sent - compare with the number registered
      return true;
     }

     else {
      ##code to report an error 
      return false;
     }

 }

Обновление 2

Проблема решена. Я запускаю это на машине Windows, используя PHP 5. Как правильный ответ выбран и комментарии сказал. Некоторые почтовые серверы имеют проблемы с пониманием того, что я имел ранее. Но то, что сработало для меня, было так:

$headers .= 'From: mail@mailmaster.com' . "\r\n";

Ответы [ 5 ]

4 голосов
/ 04 мая 2009

Поиск в Google сообщения об ошибке показывает, что некоторые SMTP-серверы не могут проанализировать ваш синтаксис для заголовка From. Можете ли вы попробовать следующий синтаксис, чтобы исключить эту возможность?

From: mail@mailmaster.com
1 голос
/ 04 мая 2009

Если тело не пусто, вам может потребоваться дополнительный CRLF для завершения заголовков. Не зная API, я не могу сказать намного больше.

0 голосов
/ 20 февраля 2014

Если вы установите переменную «$ userEmail» в своей форме, вы можете получить ее от них и получить ответ. $ Email_id - это ваша электронная почта, на которую она отправлена.

        $to=$email_id;
        $headers = "From: " . strip_tags($userEmail) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($userEmail) . "\r\n";
0 голосов
/ 04 мая 2009
From: "User1" <user1@domain1.com>

Заголовок From требует кавычек для части имени.

0 голосов
/ 04 мая 2009

Не уверен, поможет ли это, но вот как выглядят выходные заголовки в моем приложении Python в чистом тексте:

Content-Type: multipart/alternative;
    boundary="10.254.26.130.1.1364.1241389770.060.1"
From: User1 <user1@domain1.com>
To: User2 <user2@domain1.com>,User3 <user3@domain.com>
Subject: Actual subject
MIME-Version: 1.0


--10.254.26.130.1.1364.1241389770.060.1
Content-Type: text/plain;
    charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

actual text content starting here...

Опять же, не зная всего содержимого / заголовков, трудно сказать, но я бы предположил, что либо: а) вы исключили конечные CRLF перед содержимым, либо б) один из более ранних заголовков пропустил свой CRLF.

Извинения, если это приведет вас в совершенно неправильное русло. :)

...