Envio de e-mail gmail

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

Meu código:

        $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 ?

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

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.

Obrigado Jailton, mas não entendi muito.

Também não entendi Alexandre.

Mudei o login do email e deu o mesmo erro.

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

Muito bem explicado Alexandre!!! Obrigado por compartilhar.

Obrigado Alexandre.

Estranho que é o mesmo login e senha do email.

Agora está dando esta mensagem de erro:

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

[code] $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);[/code]

http://www.scriptcase.com.br/forum/index.php/topic,12541.msg65293.html#msg65293

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.

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.

Mas em outro programa (Não escrito pelo SC), funciona o envio de email.

NetSoft, Desculpe não sei mais no que posso ajudar.
Os outros colegas com mais experiência se puderem compartilhar seu conhecimento.
Agradecemos.

Já tentou usar outro e-mail sem ser gmail? tipo do provedor onde esta o seu site? o gmail tem implantado políticas de controle de segurança rígidas e esta causando esses transtornos para quem usa o mesmo embutido em suas apps:
https://support.google.com/mail/answer/14257

Um exemplo de como eu uso usando e-mail da própria hospedagem funciona 100%:
sc_mail_send(‘smpt.meu.servidor.com’, ‘usuario_login_sem_arroba’, ‘senha_do_email’, ‘enviado@por.com.br’, ‘destino@com.br’, ‘TESTE DE E-MAIL’, ‘Ola Mundo!’, ‘H’, ‘’, ‘S’, '587);

Pessoal, com essa configuração funcionou:

[font=courier]
$smtp = “smtp.gmail.com”;
$usr = “emailorigem@dominio.com.br”;
$psw = “senhadoemail”;
$de = “emailorigem@dominio.com.br”; >> Havia colocado o Nome do Remetente, mas não aceita!
$assunto = “Assunto”;
$tmsg = “H”;
$destino = “emaildestino@dominio.com.br”;
$ecopia = “emailcopia@dominio.com.br”;
$tcopia = “BCC”;
$porta = “465”;
$tconexao = “S”;
[/font]

sc_mail_send($smtp, $usr, $psw, $de, $destino, $assunto, $msgtexto, $tmsg, $ecopia, $tcopia, $porta, $tconexao,’’);