Saudações, amantes do Scriptcase!
Eu tinha uma versão mais antiga que envia emails. Mas, desde que actualizei, passou a dar erro.
Saudações, pessoal!
Ninguém tem uma ideia para me ajudar?
Agradeceria…
Informe qual a aplicação, o que fez, como fez, código utilizado… somente assim não ajuda muito…
este erro rfc 2822 3.2.2, é que algum endereço de email esta errado ou de forma errada, as vezes coloca uma virgula no lugar do ponto ou espaço, ou mesmo array sem delimitador
Jaelton, estou a implementar um código PHP numa biblioteca interna. Seguem-se as linhas de código:
<?php //================================================================================================================================= function enviar_email($destinatario,$assunto,$mensagem){ $mail_smtp_server = 'mail.catoca.com'; // SMTP server name or IP address $mail_smtp_user = 'meue_email_aqui'; // SMTP user name $mail_smtp_pass = 'minha_password_aqui'; // SMTP password $mail_from = 'meue_email_aqui'; // From email $mail_to = $destinatario; // To email $mail_subject = $assunto; // Message subject $mail_message = $mensagem; // Message body $mail_format = 'T'; // Message format: (T)ext or (H)tml $mail_port = '465'; // Server port $mail_tp_connection = 'S'; // Connection security (S) or (N) // Send email"; sc_mail_send($mail_smtp_server, $mail_smtp_user, $mail_smtp_pass, $mail_from, $mail_to, $mail_subject, $mail_message, $mail_format, $mail_port, $mail_tp_connection); if({sc_mail_ok}){ echo "Mensagem enviada ao(à) $destinatario"; }else{ sc_error_message({sc_mail_erro}); } } //================================================================================================================================= function enviar_lembrete(){ $destinatarios=""; $nome_direccao=""; $mensagem=""; $sql="SELECT email,nome FROM cliente WHERE id = {cliente}"; sc_lookup(rs,$sql); if(!empty({rs})){ $destinatarios = {rs[0][1]}."<".{rs[0][0]}.">"; } $sql="SELECT nome FROM profissional WHERE id = {profissional}"; sc_lookup(rs,$sql); if(!empty({rs})){ $nome_direccao = {rs[0][0]}; } $assunto="Análise do documento enviado por $destinatarios"; $mensagem = "
Sistema de Gestão de Documentos sisdir.com
"; $mensagem .="Sr. Director, não se esqueça do documento que merece a sua apreciação"; setlocale(LC_TIME,"es_ES"); $dia=strftime('%A',strtotime( {start_date} )); $mensagem .="$dia,".sc_date_conv({start_date},"db_format","dd/mm/aaaa")." às ". substr({start_time},0,5).""; $mensagem .="Em caso de alguma dúvida, contacte o secretariado a partir do ramal 3333"; enviar_email($destinatario,$assunto,$mensagem); echo "Email enviado com sucesso!!!"; } ?>
Será que este erro ocorre porque estou a desenvolver em localhost?
se for por smtp pode usar em localhost
tente trocar na configuração e faça um teste:
$mail_port = ‘587’;
$mail_tp_connection = ‘N’;
e veja se esta recuperando corretamente o destinatário.
O erro continua mesmo alterando os parâmetros para:
$mail_smtp_server = ‘localhost’; // SMTP server name or IP address
$mail_smtp_user = ‘root’; // SMTP user name
$mail_smtp_pass = ‘root’; // SMTP password
$mail_from = ‘belmiro.constantino@catoca.com’; // From email
$mail_to = $p_destinatario; // To email
$mail_subject = $p_assunto; // Message subject
$mail_message = $p_mensagem; // Message body
$mail_format = ‘T’; // Message format: (T)ext or (H)tml
$mail_port = ‘587’; // Server port
$mail_tp_connection = ‘N’;
estes dados do SMTP esta colocando de um servidor existente, ou são estes mesmos?
tem que ter um servidor para se conectar, mesmo rodando em localhost tem que conectar a um servidor valido
Exacto, Jair!
Existe sim um servidor real.
mail.catoca.com
Mas, quando eu ponho os dados reais do server, dá aquele.
Os dados reais são:
porta:465
conexao:S
esta usando uma biblioteca, faz um teste utilizando a macro do scriptcase veja se da erro no envio, pode ser que o erro esteja em outro local
https://www.scriptcase.com.br/docs/pt_br/v9/manual/14-macros/01-visao-geral/#sc_mail_send
Não, não estou a usar uma biblioteca, Jair.
muito estranho, faz um teste, cria uma aplicação blank e coloca os dados nela e executa a aplicação, tente com a 565, no meu testei com a 587 e funciona
sc_mail_send(
“mail.catoca.com”,
"usuario@catoca.com",
“SenhaDoUsuario”,
"belmiro@catoca.com",
“para_quem@dominio”,
“Assunto do Email”,
“Conteúdo da mensagem do Email”,
“H” ,
“” ,
“” ,
“587”,
“N”,
“”,
“”);
if ({sc_mail_ok})
{
echo “e-mail enviado”;
}
else
{
sc_error_message({sc_mail_erro});
}
Grande Jair, tentei com a sua ajuda, mas sem êxito!
Eis o erro, mano.
Caro Jair, será que não seria preferível aconselhar-me a usar uma biblioteca ou coisa parecida? O Scriptcase tem me adoentado quando o caso é envio de email.
Eu preciso apresentar um projecto aos meus líderes com implementação de email.
Agradecê-lo-ia!!!
voce pode usar o PHPMailer, mas antes de colocar no scriptcase, faça um script separado com php puro e teste, que o erro stream_socket_client é do php, ele esta dando time out na tentativa de conectar ao servidor de email.
pode ser que o firewall esteja bloqueando, ou por se conectar a uma porta ssl com segurança necessite ter o openssl.
voce ja configurou esta conta que esta testando em um cliente de email tipo thunderbird, outlook ou outro? seria um bom teste para ver se as configurações estão OK, tente fazer isto antes mesmo de fazer o teste com o phpmailer
Belmiro… quando postou o erro disse “estou a implementar um código PHP numa biblioteca interna”, que biblioteca é esta? Qual o nome dela…
Mas se está usando servidor real, não tem motivo nem lógica a questão de usuário e senha root, salvo que esteja colocando no seu código usuário e senha corretos para não ser mostrado aqui no fórum, se for isto desconsidere esta parte…
Reiteradas saudações, Jair!
Testei o phpmailer no xamp, funcionou perfeitamente com um teste da smtp.gmail.com, mas ao testar com mail.catoca.com não funcionou.
Por outro lado, testei no Wampserver, mas não funcionou tanto com smtp.gmail.com quanto com o mail.catoca.com.
A img abaixo, foi resultado de um erro pelo wamp com a porta 587 e tls.
Com a porta 465 e ssl dá outro erro.
verifique se a porta no catoca.com esta ativa o tsl no servidor, pode ser erro lá, pode não estar configurada/ativa, refaça o teste pelo xamp só que tente conectar usando a porta e sem a segurança ssl/tsl, no wamp pode ser que o openssl esteja desativado por isto o erro no gmail
É o seguinte o problema que estou vendo é referente a configuração, o código está certo, mas para preenchê-lo corretamente é necessário saber como o seu servidor de e-mail permite este envio, logo a questão é seu servidor de e-mail, tem casos em um servidor que eu uso ainda a porta 25 para enviar, pois precisei deixá-lo desta forma… se é hospedagem compartilhada verifique com a empresa a configuração para configurar outlook, é a mesma coisa…
Jair, voltamos a testar no Xamp com o mail.catoca.com funcionou depois de termos desactivado o antivirus.
Levamos o mesmo código ao Wamp e os mesmos dados ao Scriptcase, mas sem êxito.
Fizemos várias tentativas para reverter a situação, mas não funcionou.