Olá a todos.
Estou com dificuldades para emviar email pelo SC 9.5.003.
Como não consegui enviar através de vários provedores, como gmail, locaweb e outros, utilizando a macro sc_mail_send, tentei através de bibliotecas externas.
Testei o PHPMailer, versões atuais e antigas, com e sem uso do namespace, porém sem sucesso em todas as versões.
Tentei por último pelo SwiftMailer, sem sucesso também pelo SC.
Testei com ‘ssl’, ‘tls’ e sem.
Utilizando um script PHP fora so SC, pelo Apache, o envio ocorre normalmente através de todos os provedores testados.
Utilizo CentOS 7 e php 7.3.24.
Criei um form do tipo ‘control’ e no evento ‘onValidate’ coloquei o código mais abaixo.
O erro que ocorre é esse :
“Connection could not be established with host email-ssl.com.br :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed”.
Segue o código no onValidate:
sc_include_library(“prj”, “swiftmailer”, “vendor/autoload.php”, true, true);
$sSmtpPort = 465;
$sSmtpHost = "email-ssl.com.br";
$sSmtpUserName = "contato@xxxxxxxxxx.com";
$sSmtpPassword = "senha";
$sSmtpFromName = "Nome do Usuario";
$sSmtpFrom = $sSmtpUserName;
$sSmtpSecure = "ssl";
$sToEmail = "destino_da_mensagem@gmail.com";
$sToNome = "Nome do Destinatario";
try {
// Create the Transport
$transport = (new Swift_SmtpTransport("$sSmtpHost", $sSmtpPort, "$sSmtpSecure"))
->setUsername("$sSmtpUserName")
->setPassword("$sSmtpPassword")
;
$mailer = new Swift_Mailer($transport);
// Create a message
$body = 'Olá, <p>Email de teste.</p>';
$message = (new Swift_Message('Email pelo Swift Mailer'))
->setFrom(["$sSmtpUserName" => "$sSmtpFromName"])
->setTo(["$sToEmail" => "$sToNome"])
->setBody($body)
->setContentType('text/html')
;
$mailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mailer->send($message);
echo 'Email enviado.';
} catch(Exception $e) {
echo $e->getMessage();
}