sc_mail_send(RESOLVIDO)

Ola pessoal

Bom estou com um probleminha
estou fazendo uma aplicação o qual ao cadastrar enviar um email com senha e o login
*campos Apelido, Nome, email/login;
O sistema ao preencher os 3 campo e mandar cadastrar, ele gera uma senha automaticamente e precisa mandar no email em que o usuario digitou no campo email/login.

Codigo do sc_mail_send:

sc_lookup(ds, “select email_smtp,email_user,email_pwd,email_conta,email_port,email_tipo from sm_param where id = 1” );
if(isset($ds[0][0])){
$mail_smtp_server = $ds[0][0]; // SMTP server name or IP address
$mail_smtp_user = $ds[0][1]; // SMTP user name
$mail_smtp_pass = $ds[0][2]; // SMTP password
$mail_from = $ds[0][3]; // From email
$mail_porta = $ds[0][4];
$mail_tipo = $ds[0][5];
}else{
sc_error_message(“Parametros de email não configurados”);
}

$mail_to = {email_login}; // To email
$mail_subject = “Senha sugerida ao lojista”;
$mail_message = “Email/Login: {email_login}

Sua nova senha é:{senha}” ;
$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,
$mail_tipo);

if ({sc_mail_ok})
{
sc_alert(“Enviados {email_login} e-mail com sucesso !!”);
}
else
{
sc_error_message({sc_mail_erro});
}

E ao cadastrar ocorre isto:

ERRO
fsockopen() [function.fsockopen]: unable to connect to smtp.infinitusweb.com.br:25 (Connection timed out)

Script: /var/www/sc/lojas/prod/third/email_new/lib/Swift/Connection/SMTP.php (324)

Uncaught Error of type [Swift_ConnectionException] with message [The SMTP connection failed to start [smtp.infinitusweb.com.br:25]: fsockopen returned Error Number 110 and Error String ‘Connection timed out’]
@0 smLojas_apl::controle() in /var/www/sc/lojas/app/Sapeka/smLojas/smLojas.php on line 1243
@1 smLojas_apl::ini_controle() in /var/www/sc/lojas/app/Sapeka/smLojas/smLojas_apl.php on line 756
@2 smLojas_apl::sc_btn_RedefinirSenha() in /var/www/sc/lojas/app/Sapeka/smLojas/smLojas_apl.php on line 719
@3 smLojas_apl::EnviaEmail() in /var/www/sc/lojas/app/Sapeka/smLojas/smLojas_apl.php on line 976

Script: /var/www/sc/lojas/prod/third/email_new/lib/Swift/Errors.php (99)
Swift::handshake expects parameter 1 to be of type Swift_Events_ResponseEvent.

Script: /var/www/sc/lojas/prod/third/email_new/lib/Swift.php (279)

Parece erro de conexão com o servidor de SMTP. Observe se os dados estão corretos, porta, usuário, senha …

Nós conseguimos resolver era erro do smtp, a porta e o tipo de conexão.
Sem contar quando colcamos os parametros no sc_mail_send precisa ser na ordem que o web help cita no exemplo como: smtp,user,senha,conta,destinatario,etc. e se for em branco tem que por senão ele não aceita; (está em vermelho)
sc_mail_send( $mail_smtp_server,
$mail_smtp_user,
$mail_smtp_pass,
$mail_from,
$mail_to,
$mail_subject,
$mail_message,
$mail_format
‘’, [color=red] //Cópias não estou usando mas tem colocar vazio senão o sc não entende[/color]
‘’, [color=red] //Tipo de copia [/color]
$mail_porta,
$mail_tipo);

Vlw Cleyton a sua dica ajudou!!!

Sem querer ressuscitar mas já ressuscitando rsrsr e também porque serve como histórico para mim, mas a porta e a especificação de modo seguro foi imprescindível para o envio de email usando o sc_send_mail(), outra coisa é que o servidor de emails me fornece servidor e usuario diferentes de smtp e usuario apenas (neste caso deve conter @dominio.com.br), ficando tudo assim:

$mail_smtp_server = 'mail.dominio.com.br'; 
$mail_smtp_user   = 'nao-responda@dominio.com.br'; 
$mail_porta = '465';
$mail_tipo = 'S';
sc_mail_send(
             $mail_smtp_server,
             $mail_smtp_user,
             $mail_smtp_pass,
             $mail_from,
             $mail_to,
             $mail_subject,
             $mail_message,
             $mail_format,
             '',  
             '', 
             $mail_porta,
             $mail_tipo
             );

Isto porque na empresa onde tenho um cloud contratado (UOL), por questões de segurança, não permite envio de outra maneira.

Adicionalmente, cheguei a esta conclusão testando as portas com o telnet.
Atenciosamente,
Higor

esse e o erro que passa no meu sabe o que pode ser ?

Swift_Mime_Headers_MailboxHeader->_assertValidAddress(’’) #1 C:\Program Files\NetMake\v9\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(106): Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array) #2 C:\Program Files\NetMake\v9\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php(63): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array) #3 C:\Program Files\NetMake\v9\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleHeaderFactory.php(58): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array) #4 C:\Program Files\NetMake\v9\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\S in C:\Program Files\NetMake\v9\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\Headers\MailboxHeader.php on line 348

Sua conta silviomld@gmail.com tem a verificação em duas etapas. Se você perder o dispositivo de verificação, os códigos alternativos ajudarão a fazer login na sua conta. Gere códigos alternativos.

Apps menos seguros e a Conta do Google

A partir de 30 de setembro de 2024, os apps menos seguros e de terceiros em que você fez login apenas com seu nome de usuário e senha não poderão mais ser usados com as contas do Google Workspace. Confira as datas exatas no blog Google Workspace Updates (link em inglês). Se quiser continuar usando um app específico com sua Conta do Google, você vai precisar de um tipo de acesso mais seguro que não compartilhe dados de senha. Aprenda a usar o recurso Fazer login com o Google.

O Google poderá bloquear qualquer pessoa que tente fazer login na sua conta e use um app ou site que não esteja de acordo com nossos padrões de segurança. Apps menos seguros podem facilitar a entrada de hackers na sua conta. Por isso, bloquear o login desses apps ajuda a proteger sua conta.

Usar apps mais seguros

Se o app usa uma tecnologia de login menos segura, talvez ele não possa ser usado com sua Conta do Google.

Apps que usam apenas seu nome de usuário ou senha vão gerar erros se tentarem acessar sua Conta do Google. Esses erros podem aparecer das seguintes maneiras:

  • “Nome de usuário inválido”
  • “Senha inválida”
  • “Não foi possível fazer login”

Você pode fazer login na sua Conta do Google em apps de terceiros com a opção Fazer login com o Google. Em alguns casos, pode ser necessário remover e adicionar novamente a Conta do Google ao dispositivo