Pode ser que prefiramos enviar os nossos relatórios através de uma conta externa ao nosso email corporativo para não sobrecarregar o servidor e desse modo utilizemos uma conta externa para isso.
Neste exemplo utilizaremos o Yahoo.
O endereço do servidor SMTP do Yahoo é "smtp.mail.yahoo.com". Ele suporta conexão normal e SSL para fazer a autenticação do usuário, e devemos usar o seu endereço de email do Yahoo, como o nome do usuário de autenticação ESMTP. Por exemplo: seu e-mail é "bernardess@yahoo.com", e em seguida o nome do usuário deve ser "bernardess@yahoo.com".
Se quisermos fazer uso da conexão SSL do servidor SMTP no Yahoo, precisaremos definir a porta para 465.
Secure Socket Layer - SSL
É um padrão global em tecnologia de segurança desenvolvida pela Netscape em 1994. Ele cria um canal criptografado entre um servidor web e um navegador (browser) para garantir que todos os dados transmitidos sejam sigilosos e seguros. Milhões de consumidores reconhecem o "cadeado dourado" que aparece nos navegadores quando estão acessando um website seguro.
Quando escolher ativar o SSL no seu servidor web você terá que responder algumas questões sobre a identidade do seu site (ex. a URL) e da sua empresa (ex. a Razão Social e o endereço). Seu servidor web então criará duas chaves criptográficas - a Chave Privada (Private Key) e a Chave Pública (Public Key). Sua Chave Privada não possui esse nome à toa - ela deve ser mantida privada e segura. Já a Chave Pública não necessita ser secreta e deve ser colocada na CSR (Certificate Signing Request) - um arquivo de dados contendo os detalhes do site e da empresa. Você deverá enviar esta CSR através do formulário de solicitação em nosso site, seus dados serão validados e se estiverem corretos seu certificado digital será emitido.
Seu servidor web irá associar o certificado emitido com a sua Chave Privada. Seu servidor irá estebelecer um link criptografado entre seu website e o navegador do seu consumidor.
Transport Layer Security - TLS
É um protocolo criptográfico cuja função é conferir segurança para a comunicação na Internet para serviços como email (SMTP), navegação por páginas (HTTP) e outros tipos de transferência de dados.
Simple Mail Transfer Protocol - SMTP
Extended Simple Mail Transfer Protocol - ESMTPÉ protocolo que transfere emails, é instalado como parte dos serviços de email junto o serviço POP3. O SMTP controla como o email é transportado e entregue através da Internet ao servidor de destino. O serviço SMTP envia e recebe emails entre os servidores, ao passo que o serviço POP3 recupera o email do servidor de email para o computador do usuário.
O ESMTP é uma definição de extensões de protocolo para o padrão Simple Mail Transfer Protocol. O formato da extensão foi definido na RFC 1869 em 1995. A RFC 1869 estabeleceu uma estrutura para as atuais e futuras extensões, para produzir um meio gerenciável e consistente pelo qual os clientes e servidores SMTP possam ser identificados e servidores SMTP possam indicar extensões suportadas para clientes conectados.
O código a seguir demonstrará como enviar e-mail usando o servidor SMTP do Hotmail / MSN Live.
Lembre-se, antes de executá-lo corretamente, por favor, mude o servidor SMTP, usuário, senha, remetente, e destinatário conforme a conta a ser utilizada.Não deixe de adicionar a referência ao controle ActiveX de SMTP do objeto EASendMail no seu projeto.
' The following example codes demonstrate sending email message using Yahoo SMTP Server' To get full sample projects, please download and install EASendMail on your machine.' To run it correctly, please change SMTP server, user, password, sender, recipient value to yoursPrivate Sub btnSendMail_Click()Dim oSmtp As New EASendMailObjLib.MailLet oSmtp.LicenseCode = "TryIt"' Set your Yahoo email addressLet oSmtp.FromAddr = "myid@yahoo.com"' Add recipient email addressoSmtp.AddRecipientEx "support@emailarchitect.net", 0' Set email subjectLet oSmtp.Subject = "Teste de envio de email a partir da minha conta do Yahoo"' Set email bodyLet oSmtp.BodyText = "Teste de envio de email com VBA a partir da minha conta do Yahoo"' Yahoo SMTP server addressLet oSmtp.ServerAddr = "smtp.mail.yahoo.com"' For example: your email is "myid@yahoo.com", then the user should be "myid@yahoo.com"Let oSmtp.UserName = "bernardess@yahoo.com"Let oSmtp.Password = "<Digite a sua senha aqui>"' Because Yahoo deploys SMTP server on 465 port with direct SSL connection.' So we should change the port to 465.Let oSmtp.ServerPort = 465' Detect SSL/TLS automaticallyoSmtp.SSL_initMsgBox "Iniciando o envio do email. . . "If oSmtp.SendMail() = 0 ThenMsgBox "O email foi enviado com sucesso!"ElseMsgBox "Falha no envio de email - Erro nº: " & oSmtp.GetLastErrDescription()End IfEnd Sub
Tags: VBA, Yahoo, email, e-mail, SMTP, SSL, TLS, ESMTP, HTTP, CSR, RFC 1869,