Pergunta

O seguinte "de" cabeçalho é incorporado?

    // 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)){

Recebo o erro do meu servidor de correio. Ele diz "Correio do erro: erro de sintaxe".

Obrigado a todos por qualquer ajuda.

Atualizar

Eu tirei a função SendEmailnow para o abaixo e recebo o mesmo erro:

//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;
     }

 }

Atualização 2

Problema resolvido. Estou executando isso em uma máquina Windows usando o PHP 5. Como a resposta correta escolhida e os comentários disseram. Alguns servidores de correio têm problemas para entender o que eu tinha anteriormente. Mas o que funcionou para mim foi o seguinte:

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

Solução

Uma pesquisa no Google para a mensagem de erro sugere que alguns servidores SMTP não conseguem analisar sua sintaxe para o From cabeçalho. Você pode tentar a seguinte sintaxe para descartar essa possibilidade?

From: mail@mailmaster.com

Outras dicas

A menos que o corpo esteja vazio, você pode precisar de um CRLF adicional para encerrar os cabeçalhos. Sem saber a API, não posso dizer muito mais.

Não tenho certeza se isso ajudará, mas aqui está a aparência dos cabeçalhos de saída no meu aplicativo Python em texto puro:

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...

Novamente, sem conhecer todo o conteúdo/cabeçalhos, é difícil dizer, mas eu acho que a) você deixou de fora os CRLFs à direita antes do conteúdo, ou b) um dos cabeçalhos anteriores que faltavam na sua CRLF.

Desculpas se isso o leva a uma direção muito errada. :)

From: "User1" <user1@domain1.com>

O cabeçalho do cabeçalho requer citações para a parte do nome.

Se você definir a variável "$ userEmail" em seu formulário, poderá obtê -lo e uma resposta para. O $ e -mail_id é o seu email para o qual é enviado.

        $to=$email_id;
        $headers = "From: " . strip_tags($userEmail) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($userEmail) . "\r\n";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top