Autor Tópico: Envio de e-mail gmail  (Lida 1699 vezes)

netsoft

  • Novato
  • *
  • Mensagens: 23
Envio de e-mail gmail
« Online: Março 10, 2016, 12:31:00 pm »
Está dando este erro:

Citar
Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [] does not comply with RFC 2822, 3.6.2.' in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php:348 Stack trace: #0 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(263): Swift_Mime_Headers_MailboxHeader->_assertValidAddress('') #1 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(106): Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array) #2 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(63): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array) #3 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleHeaderFactory.php(58): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array) #4 C:\Program Files (x86)\ in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php on line 348

Meu código:

Código: [Selecionar]
        $server   = 'smtp.gmail.com';
  $usuario  = 'xxxxxxxxxxx';
  $senha    = 'xxxxxxxxxxxx';
  $de       = 'xxxxxxxxxxxxxx';
  $porta    = '587';
$tipo     = 'S';
  $assunto  = 'Envio do código para validação da conta.';
  $mensagem = 'teste';
  $formato  = 'H';

sc_mail_send($server,
             $usuario,
             $senha,
             $de,
             [var_email],
             $assunto,
             $mensagem,
             $formato,
             $porta,
             $tipo);

sc_mail_send($server, $usuario, $senha, $de, [var_email], $assunto, $mensagem, $formato, '', '', $porta, $tipo);

O que pode ser ?

Jailton

  • Expert
  • *****
  • Mensagens: 2030
Re:Envio de e-mail gmail
« Responder #1 Online: Março 10, 2016, 01:44:53 pm »
Oie, de uma olhada neste POST recente, ela estava com o mesmo problema de envio no gmail com SC e conseguiu, com ajuda do pessoal:
http://www.scriptcase.com.br/forum/index.php/topic,12541.msg65465.html#msg65465
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1637
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Envio de e-mail gmail
« Responder #2 Online: Março 10, 2016, 02:51:12 pm »
Seu cabeçalho não esta no formato correto veja a mensagem de erro:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
Em especial o endereço de e-mail.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #3 Online: Março 10, 2016, 10:53:13 pm »
Oie, de uma olhada neste POST recente, ela estava com o mesmo problema de envio no gmail com SC e conseguiu, com ajuda do pessoal:
http://www.scriptcase.com.br/forum/index.php/topic,12541.msg65465.html#msg65465

Obrigado Jailton, mas não entendi muito.

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #4 Online: Março 10, 2016, 10:53:34 pm »
Seu cabeçalho não esta no formato correto veja a mensagem de erro:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
Em especial o endereço de e-mail.

Também não entendi Alexandre.

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #5 Online: Março 10, 2016, 10:54:34 pm »
Mudei o login do email e deu o mesmo erro.

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1637
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Envio de e-mail gmail
« Responder #6 Online: Março 10, 2016, 11:29:35 pm »
Está dando este erro:

Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [] does not comply with RFC 2822, 3.6.2.' in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php:348 Stack trace: #0 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(263): Swift_Mime_Headers_MailboxHeader->_assertValidAddress('') #1 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(106): Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array) #2 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(63): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array) #3 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleHeaderFactory.php(58): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array) #4 C:\Program Files (x86)\ in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php on line 348


Assim como na vida existe uma norma para tudo! Na internet também a normas a serem seguidas e que os programadores web devem aprender. Nem que seja para auxiliar a debugar um código.

Estas normas se chamam RFC.

RFC (acrónimo em inglês de Request for Comments) ou (ou "pedido para comentários" em português),as RFCs são documentos técnicos desenvolvidos e mantidos pelo IETF (Internet Enginnering Task Force), instituição que especifica os padrões que serão implementados e utilizados em toda a internet.

No erro que você citou diz que você está enviando um e-mail que não obedece a  RFC 2822, seção 3.6.2.

Vendo a RFC 2822 -> https://www.ietf.org/rfc/rfc2822.txt
Sessão 3.6.2

3.6.2. Originator fields

   The originator fields of a message consist of the from field, the
   sender field (when applicable), and optionally the reply-to field.
   The from field consists of the field name "From" and a
   comma-separated list of one or more mailbox specifications.  If the
   from field contains more than one mailbox specification in the
   mailbox-list, then the sender field, containing the field name
   "Sender" and a single mailbox specification, MUST appear in the
   message.  In either case, an optional reply-to field MAY also be
   included, which contains the field name "Reply-To" and a
   comma-separated list of one or more addresses.

from            =       "From:" mailbox-list CRLF

sender          =       "Sender:" mailbox CRLF

reply-to        =       "Reply-To:" address-list CRLF

   The originator fields indicate the mailbox(es) of the source of the
   message.  The "From:" field specifies the author(s) of the message,
   that is, the mailbox(es) of the person(s) or system(s) responsible
   for the writing of the message.  The "Sender:" field specifies the
   mailbox of the agent responsible for the actual transmission of the
   message.  For example, if a secretary were to send a message for
   another person, the mailbox of the secretary would appear in the
   "Sender:" field and the mailbox of the actual author would appear in
   the "From:" field.  If the originator of the message can be indicated
   by a single mailbox and the author and transmitter are identical, the
   "Sender:" field SHOULD NOT be used.  Otherwise, both fields SHOULD
   appear.

   The originator fields also provide the information required when
   replying to a message.  When the "Reply-To:" field is present, it
   indicates the mailbox(es) to which the author of the message suggests
   that replies be sent.  In the absence of the "Reply-To:" field,
   replies SHOULD by default be sent to the mailbox(es) specified in the
   "From:" field unless otherwise specified by the person composing the
   reply.

   In all cases, the "From:" field SHOULD NOT contain any mailbox that
   does not belong to the author(s) of the message.  See also section
   3.6.3 for more information on forming the destination addresses for a
   reply.

Ou seja, algo na sintaxe da sua programação está quebrando a regra acima.

Então eu prestaria atenção aos campos: $de, [var_mail] do cabeçalho.
Eles estão realmente pegando o valor correto? Ou estão vazias ? Com valores loucos?

Cito: sc_mail_send($server, $usuario, $senha, $de, [var_email], $assunto, $mensagem, $formato, '', '', $porta, $tipo);

Alguns provedores também são chatos e eles exigem que o $de seja do mesmo domínio da conta que esta enviando $usuario.
Exemplo fictício: vou usar o Gmail  para enviar. Logo, tenho que usar um o email xxxx@gmail.com no campo $de para o $usuario xxxx@gmail
Se fizer de$ xxxx@hotmail.com para usuário xxxx@hotmail.com não irá funcionar.

90% da solução foi postada. Agora os outros 10%  é com você.


--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 884
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
    • Email
Re:Envio de e-mail gmail
« Responder #7 Online: Março 11, 2016, 08:09:29 am »
Muito bem explicado Alexandre!!! Obrigado por compartilhar.
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 5.02/SC 8.1

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #8 Online: Março 11, 2016, 11:07:15 am »
Obrigado Alexandre.

Estranho que é o mesmo login e senha do email.

Agora está dando esta mensagem de erro:

Citar
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/answer/14257 204sm5398655ywr.32 - gsmtp "' in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php:383 Stack trace: #0 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php(281): Swift_Transport_AbstractSmtpTransport->_assertResponseCode('535-5.7.8 Usern...', Array) #1 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\EsmtpTransport.php(269): Swift_Transport_AbstractSmtpTransport->executeCommand('RSET\r\n', Array, Array) #2 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\Esmtp\Auth\XOAuth2Authenticator.php(55): Swift_Transport_EsmtpTransport->executeCommand('RSET\r in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php on line 383

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #9 Online: Março 11, 2016, 11:07:52 am »
Código: [Selecionar]
$server   = 'smtp.gmail.com';
  $usuario  = email;
  $senha    = senha;
  $porta    = '465';
$tipo     = 'S';
  $assunto  = 'Envio do código para validação da conta.';
  $mensagem = 'teste';
  $formato  = 'H';

sc_mail_send($server, $usuario, $senha, $usuario, [var_email], $assunto, $mensagem, $formato, '', '', $porta, $tipo);

Kleyber

  • Expert
  • *****
  • Mensagens: 2232
    • Email
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1637
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Envio de e-mail gmail
« Responder #11 Online: Março 11, 2016, 01:54:16 pm »
Obrigado por citar Kleyber.
Se a autenticação em duas etapas do gmail estiver ativa também não irá funcionar.
Tem que desabilitar isto.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1637
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Envio de e-mail gmail
« Responder #12 Online: Março 11, 2016, 01:58:09 pm »
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/answer/14257 204sm5398655ywr.32 - gsmtp "' in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php:383 Stack trace: #0 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php(281): Swift_Transport_AbstractSmtpTransport->_assertResponseCode('535-5.7.8 Usern...', Array) #1 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\EsmtpTransport.php(269): Swift_Transport_AbstractSmtpTransport->executeCommand('RSET\r\n', Array, Array) #2 C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\Esmtp\Auth\XOAuth2Authenticator.php(55): Swift_Transport_EsmtpTransport->executeCommand('RSET\r in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php on line 383

A propósito comece a seguir os erros e links de erros como o demarcado acima no google. Irá lhe dar pistas do que esta acontecendo.
Se faz necessário debugar os erros também.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

netsoft

  • Novato
  • *
  • Mensagens: 23
Re:Envio de e-mail gmail
« Responder #13 Online: Março 11, 2016, 03:48:25 pm »
Mas em outro programa (Não escrito pelo SC), funciona o envio de email.

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1637
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Envio de e-mail gmail
« Responder #14 Online: Março 12, 2016, 01:56:33 am »
NetSoft, Desculpe não sei mais no que posso ajudar.
Os outros colegas com mais experiência se puderem compartilhar seu conhecimento.
Agradecemos.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?