Autor Tópico: EMAIL  (Lida 7875 vezes)

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
EMAIL
« Online: Maio 01, 2013, 10:20:05 am »
Tenho um formulario para enviar emails.

Na versão SC6, funcionava beleza!  Mas, na versão SC7, está dando erro. O erro não é no formulário e sim ao enviar o email, segue a mensagem abaixo:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. #10060]' in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php:265 Stack trace: #0 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php(66): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php(117): Swift_Transport_StreamBuffer->initialize(Array) #2 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\app\samples1\mc in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php on line 265

Este e' o codigo que estou utilizando.



// Email parameters
         /*
         $mail_smtp_server = 'smtp.mail.yahoo.com.br';        // SMTP server name or IP address
         $mail_smtp_user   = 'slblite';                       // SMTP user name
         $mail_smtp_pass   = '???????';                      // SMTP password   *a senha e' outra...
    $mail_porta       = '587';
         $mail_from        = 'slblite@yahoo.com.br';          // From email       
        */


  $mail_to      = [to_email];
  $mail_subject = 'Relatorio de Remessas ---- ('.$dt_aux.')';                // Message subject
  $mail_message = $out2.'<br><font size=3>'.'Total geral ........ <b>'.
                    [t_total].'</b></font><br><br>'.$c_msg;   
  $mail_format  = 'H';                       // Message format: (T)ext or (H)tml


  sc_mail_send($mail_smtp_server,
                 $mail_smtp_user,
                 $mail_smtp_pass,
                 $mail_from,
                 $mail_to,
                 $mail_subject,
                 $mail_message,
                 $mail_format,'','',$mail_porta);

   if ({sc_mail_ok})
   {
     echo "Enviados {sc_mail_count} e-mail com sucesso !!";
   }
    else
   {
     sc_erro_mensagem({sc_mail_erro});
   }


Não sei o que fazer.....

alguem pode ajudar?
« Última modificação: Maio 01, 2013, 10:24:45 am por pessanha »

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:EMAIL
« Responder #1 Online: Maio 01, 2013, 12:11:32 pm »
Suas configurações parecem corretas, não consigo ver erro!

Já tentou entrar em contato com seu Host e informar se eles fizeram alguma atualização no servidor? Tipo Firewall, porta 587, etc...

Falar em porta,  tenta a 465, apesar que não é muito segura. Tem que sair testando mesmo!

Citar
'Connection could not be established with host smtp.gmail.com

É como se o host tivesse impedindo a conexão!
F. A.
Analista de Sistemas

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #2 Online: Maio 01, 2013, 12:38:21 pm »
Estou com esta mesma impressão !

na realidade estou usando um hotmail.com que criei para poder enviar os emails.
Já tentei em outro servidor tipo smtp.gmail.com, e o problema continua.

existe outro meio para contornar esta situação ?

Pesquisei sobre mail() no PHP, usando localhost.... mas não estou sabendo usar...

erenha

  • Intermediário
  • ***
  • Mensagens: 196
Re:EMAIL
« Responder #3 Online: Maio 01, 2013, 02:18:29 pm »
Vou passar o meu que está funfando blz...

Eu uso no evento onAfterInsert

Código: [Selecionar]
$w_sql = "SELECT parceiro_email,parceiro_status FROM dados.parceiros
where parceiro_marcas_ = {Fabricante} and parceiro_status = 1";

sc_lookup(wresp,"$w_sql");

if(!empty({wresp[0][0]}))
{
$tam = sizeof({wresp[0][0]});
for($i = 0; $i < $tam; $i++)
{
$email = {wresp[$i][0]};
$smtp = "smtp.provedor.com.br";
  $usr = "contato@provedor1.com.br";
  $pw = "senha";
  $de = "contato@provedor1.com.br";
  $para = $email;
  $assunto = "Você tem uma nova cotação!";
  $mensagem = "Olá, acesse o site para responder a sua cotação.<br><br>";
  sc_mail_send($smtp,$usr,$pw,$de,$para,$assunto,$mensagem,'H', , , 587 );
}
}
Rede Cloud1

Programa para guardar as informações da rede do cliente como nome da máquina, ip, mac address, dispositivo ( roteadores, balança, impressoras) usuários, senhas, numeração do cabo, número do patrimônio e etc.

Desenvolvido em scriptcase

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #4 Online: Maio 05, 2013, 11:09:55 am »
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "slblite2" using 2 possible authenticators' in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\Esmtp\AuthHandler.php:176 Stack trace: #0 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\EsmtpTransport.php(307): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport)) #1 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php(124): Swift_Transport_EsmtpTransport->_doHeloCommand() #2 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\app\slblite_v6\gcon_rem_selecionadas\gcon_rem_selecionadas.php(1865): Swift_Mailer->send(Object(Swift_Message), Array) #4 C:\Program Files (x86)\NetMake in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\Esmtp\AuthHandler.php on line 176

Amigos,
este problema me tira do sério !

As vezes funciona, outras NÃO .....

agora, não está funcionando

O QUE FAZER ?

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:EMAIL
« Responder #5 Online: Maio 05, 2013, 11:19:15 am »
Bom dia amigos.
Para enviar e-mail tenho utilizado essa tática.

$nome_formulario = "Nome Form";
$smtp="mail.xxxxx.com.br";
$usr="xxxx@xxxxx.com.br";
$pw="xxxxxxx";

$de="{email}";
$para=array({email},$usr);
$assunto= $nome_formulario;
$mensagem="Obrigado sua confirmação em participar do evento foi realizada com sucesso";
 
sc_mail_send($smtp, $usr, $pw, $de, $para, $assunto, $mensagem, 'H'); 
 
if ({sc_mail_ok})
{
     
    sc_alert("Enviado uma cópia do $nome_formulario para seu e-mail $de com sucesso!");
 
 }
 else
 {
      sc_erro_mensagem({sc_mail_erro});
 }

Não sei se isso pode lhe ajudar....
Celso R.
________________________________
SC - V 8

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:EMAIL
« Responder #6 Online: Maio 05, 2013, 03:53:08 pm »
Tenho um formulario para enviar emails.

Na versão SC6, funcionava beleza!  Mas, na versão SC7, está dando erro. O erro não é no formulário e sim ao enviar o email, segue a mensagem abaixo:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. #10060]' in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php:265 Stack trace: #0 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php(66): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\AbstractSmtpTransport.php(117): Swift_Transport_StreamBuffer->initialize(Array) #2 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\app\samples1\mc in C:\Program Files (x86)\NetMake\v7\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php on line 265

Este e' o codigo que estou utilizando.



// Email parameters
         /*
         $mail_smtp_server = 'smtp.mail.yahoo.com.br';        // SMTP server name or IP address
         $mail_smtp_user   = 'slblite';                       // SMTP user name
         $mail_smtp_pass   = '???????';                      // SMTP password   *a senha e' outra...
    $mail_porta       = '587';
         $mail_from        = 'slblite@yahoo.com.br';          // From email       
        */


  $mail_to      = [to_email];
  $mail_subject = 'Relatorio de Remessas ---- ('.$dt_aux.')';                // Message subject
  $mail_message = $out2.'<br><font size=3>'.'Total geral ........ <b>'.
                    [t_total].'</b></font><br><br>'.$c_msg;   
  $mail_format  = 'H';                       // Message format: (T)ext or (H)tml


  sc_mail_send($mail_smtp_server,
                 $mail_smtp_user,
                 $mail_smtp_pass,
                 $mail_from,
                 $mail_to,
                 $mail_subject,
                 $mail_message,
                 $mail_format,'','',$mail_porta);

   if ({sc_mail_ok})
   {
     echo "Enviados {sc_mail_count} e-mail com sucesso !!";
   }
    else
   {
     sc_erro_mensagem({sc_mail_erro});
   }


Não sei o que fazer.....

alguem pode ajudar?

Pessanha, achei uma coisa estranho, no erro ele informa que não conseguiu autenticar com o smtp do gmail: 'Connection could not be established with host smtp.gmail.com [A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. #10060]' i

e no código que você informa o parâmetro do stmp tá para o yahoo:     $mail_smtp_server = 'smtp.mail.yahoo.com.br';        // SMTP server name or IP address

é isso mesmo?

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #7 Online: Maio 06, 2013, 08:50:42 am »
não, não !!!!

esta mensagem, foi emitida por teste, que fiz. Eu estava tentando com o gmail, yahoo, hotmail.... então eu postei uma das mensagens, desculpe!
eu uso smtp.yahoo.com.br, mesmo e tenho o mesmo problema.

..... este problema é aleatório, as vezes funciona e outras não. Realmente não sei o que fazer.

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #8 Online: Maio 06, 2013, 12:10:42 pm »
caramba!

este envio de emails, esta de brincadeira comigo!

as vezes funciona, outras não...... alguem tem este tipo de problema?

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:EMAIL
« Responder #9 Online: Maio 06, 2013, 01:58:08 pm »
Cara você pode tentar criar um biblioteca com p PHP mailer,

segue um exemplo abaixo de uso com o gmail:
http://www.gn10.com.br/blog/dicas/envie-emails-php-smtp-gmail-google-apps/

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #10 Online: Maio 06, 2013, 03:06:35 pm »
valeu, paulomarcelo !

vou verificar.....  uma luz no fim do tunel...

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:EMAIL
« Responder #11 Online: Maio 06, 2013, 03:19:04 pm »
É isso ai pessanha, quando o scriptcase não resolve nós temos que usar da criatividade para resolver da nossa forma. Algumas vezes a ferramenta está com bug e nem sempre eles resolvem rápido. Logo como temos nossos prazos para os nossos clientes temos que tentar resolver de outra forma e não dá para esperar a solução da Netmake. Mas nesta versão 7 eles estão dando feedback para os bugs reportados e resolvendo nas releases que lançam, o que para mim foi uma boa evolução.

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:EMAIL
« Responder #12 Online: Maio 06, 2013, 09:05:39 pm »
E' este e um problemao pro a mim, pq eu somente fiz uma atualizacao p/ v7
E claro dei um pouco de banho de loja na aplicacao para impressionar o cliente com
Os novos temas... e cai neste problema. Minha versao anrerior com a v6, estava funcionando...
Obrigado pela ajuda.

Ha, tem como eu atribuir claases esternas no SC ? 

Eu nunca usei....

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:EMAIL
« Responder #13 Online: Maio 09, 2013, 02:22:35 am »
Pessanha tenta com esta função e com uma conta do gmail(dica: faz um teste primeiro numa blank):

Código: [Selecionar]
// Email parameters
$mail_smtp_server = 'smtp.gmail.com';        // SMTP server name or IP address
$mail_smtp_user   = 'seuemail@gmail.com';                   // SMTP user name
$mail_smtp_pass   = 'suasenha';                // SMTP password
$mail_from        = 'seuemail@gmail.com';          // From email
$mail_to          = 'destinatario@gmail.com';         // To email
$mail_subject     = 'Assunto';            // Message subject
$mail_message     = 'Mensagem'; // Message body
$mail_format      = 'H';                       // Message format: (T)ext or (H)tml


// Send email
sc_mail_send($mail_smtp_server,
$mail_smtp_user,
$mail_smtp_pass,
$mail_from,
$mail_to,
$mail_subject,
$mail_message,
$mail_format,
'',
'',
'465',
'S');

Marcio P. Garcia

  • Novato
  • *
  • Mensagens: 36
Re:EMAIL
« Responder #14 Online: Junho 11, 2013, 11:46:56 am »
Pessoal, bom dia!

Eu tive um problema muito parecido pessanha, mas não me recordo se o erro era esse que vc postou.
Utilizei uma biblioteca externa para resolver, PHPMailer, e funcionou perfeitamente.
Acredito que o problema esteja relacionado com o tipo de autenticação do servidor, que no Brasil agora é obrigatório a autenticação no SMTP para envio de e-mail.

Baixei a biblioteca deste site: https://github.com/Synchro/PHPMailer

Faça upload das bibliotecas class.phpmailer.php, class.pop3.php e class.smtp.php, no menu -> ferramentas -> bibliotecas.

Esse foi o código que usei para gerar e enviar o e-mail:

Código: [Selecionar]
$sql = "
SELECT `EmailRemetente`, `UsuarioPop`, `Password`, `ServidorPop`, `PortaPOP`, `ServidorSMTP`, `PortaSMTP`, `TextoEmailCorrespondencia`, `ConexaoSegura`, `AssuntoEmailCorrespondencia`, `NomeRemetente`
FROM tbl_parametros
WHERE CodCli = [codcli]
AND `EnviaEmailComunicados` = 'S'
";

sc_lookup(rsparam, $sql);

if ( {rsparam} === false )
{
echo "Erro de acesso ao banco de dados. " . {rsparam_erro};
}
elseif ( !empty({rsparam}) )
{

// Email parameters
$mail_smtp_server = {rsparam[0][5]}; // SMTP server name or IP address
$mail_smtp_user   = {rsparam[0][1]}; // SMTP user name
$mail_smtp_pass   = sc_decode({rsparam[0][2]}); // SMTP password
$email_name_from  = {rsparam[0][10]}; // Name of sender
$mail_from        = {rsparam[0][0]}; // From email
$mail_subject     = 'Correspondência'; // Message subject
$mail_format      = 'H'; // Message format: (T)ext or (H)tml
$mail_port_number = {rsparam[0][6]}; // SMTP server port number
$mail_security    = {rsparam[0][8]}; // Secutity conection
$mail_subject     = {rsparam[0][9]}; // Subject of E-mail
$mail_message     = {rsparam[0][7]}; // Message body

$mailsendto = "
SELECT u.id, m.nome, m.email
FROM tbl_unidade u, tbl_moradores m
WHERE u.CodCli = [codcli]
AND u.id = m.tbl_unidade_id
AND u.Correspondencia = 'S'
AND m.RecebeMail = 'S'
AND u.MailSend = 'N'
";

sc_lookup(rsemail, $mailsendto);
if ( {rsemail} === false )
{
echo "Erro de acesso ao banco de dados. " . {rsemail_erro};
}
elseif( !empty({rsemail}) )
{
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $mail_smtp_server;
$mail->Port = $mail_port_number;
$mail->SMTPAuth = true;
if ( $mail_security <> 'N' )
{
$mail->SMTPSecure=$mail_security;
}
$mail->Username = $mail_smtp_user ;
$mail->Password = $mail_smtp_pass;
$mail->From = $mail_from;
$mail->FromName = $email_name_from;
foreach( {rsemail} as $email )
{

$mail_to          = $email[2]; // To email
$mail_to_name   = $email[1]; // Name
// $mail->AddAddress($mail_to, $mail_to_name);
$mail->AddBCC($mail_to, $mail_to_name);
}
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = $mail_subject;
$mail->Body = $mail_message;
if(!$mail->Send())
{
echo "Houve um erro ao enviar o email! erro: $mail->ErrorInfo";
exit;
}
else
{
sc_begin_trans();
foreach( {rsemail} as $email )
{
sc_exec_sql("update tbl_unidade set MailSend = 'S' where id = $email[0]");
}
sc_commit_trans();
}
}
}

Todos os parâmetros para envio estão em uma tabela.

Att

Marcio