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. Assim, utilizamos uma conta externa para isso. No exemplo abaixo elegi o Gmail da Google.
O endereço do servidor SMTP do Gmail é "smtp.gmail.com". Ele requer conexão SSL ou TLS, e você deve usar um endereço de email do Gmail como o nome de usuário para autenticação ESMTP.
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.
Por exemplo: Caso o seu e-mail seja "bernardess@gmail.com", o nome do usuário deverá ser "bernardess@gmail.com".
Os códigos de exemplo a seguir demonstram o envio de mensagem de email usando oNão deixe de adicionar a referência ao controle ActiveX de SMTP do objeto EASendMail no seu projeto.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.
Private Sub btnSendMail_Click()Dim oSmtp As New EASendMailObjLib.MailLet oSmtp.LicenseCode = "TryIt"' Set your Gmail email addressLet oSmtp.FromAddr = "bernardess@gmail.com"' Add recipient email addressoSmtp.AddRecipientEx "inanyplacet@gmail.com", 0' Set email subjectLet oSmtp.Subject = "Teste de envio de email através da conta do Gmail."' Set email bodyLet oSmtp.BodyText = "Este é um teste de envio de email através do Gmail."' Gmail SMTP server addressLet oSmtp.ServerAddr = "smtp.gmail.com"' If you want to use direct SSL 465 port,' Please add this line, otherwise TLS will be used.' Let oSmtp.ServerPort = 465' detect SSL/TLS automaticallyoSmtp.SSL_init' Gmail user authentication should use your' Gmail email address as the user name.' For example: your email is "bernardess@gmail.com", then the user should be "bernardess@gmail.com"Let oSmtp.UserName = "bernardess@gmail.com"Let oSmtp.Password = "<Digite aqui a sua senha>"MsgBox "Início do envio de e-mails"If oSmtp.SendMail() = 0 ThenMsgBox "Email foi enviado com sucesso!"ElseMsgBox "Falha ao enviar email, erro detectado. Erro nº: " & oSmtp.GetLastErrDescription()End IfEnd Sub
Tags: VBA, Gmail, email, e-mail, SMTP, SSL, TLS, ESMTP, HTTP, CSR, RFC 1869,