Neste exemplo utilizaremos o Hotmail ou o MSN Live. 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.
O endereço do servidor SMTP do Hotmail / MSN é "smtp.live.com". Ele requer conexão TSL para fazer a autenticação do usuário, e devemos usar o endereço do email Live como o nome do usuário para autenticação ESMTP. Por exemplo: seu e-mail é "liveid@hotmail.com", e em seguida o nome do usuário será "myid@hotmail.com".
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 Hotmail/MSN Live 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 Hotmail email addressLet oSmtp.FromAddr = "liveid@hotmail.com"' Add recipient email addressoSmtp.AddRecipientEx "support@emailarchitect.net", 0' Set email subjectLet oSmtp.Subject = "Teste de email a partir da conta do Hotmail."' Set email bodyLet oSmtp.BodyText = "Teste de email com VBA a partir da conta do Hotmail."' Hotmail SMTP server addressLet oSmtp.ServerAddr = "smtp.live.com"' Hotmail user authentication should use your' Hotmail email address as the user name.Let oSmtp.UserName = "liveid@hotmail.com"Let oSmtp.Password = "<Digite aqui a sua senha>"' detect SSL/TLS connection automaticallyoSmtp.SSL_initMsgBox "Início do envio de emails."If oSmtp.SendMail() = 0 ThenMsgBox "Os emails foram enviados com sucesso!"ElseMsgBox "Falha ao enviar email - Erro nº: " & oSmtp.GetLastErrDescription()End IfEnd Sub
Tags: VBA, MSN, Hotmail, email, e-mail, SMTP, SSL, TLS, ESMTP, HTTP, CSR, RFC 1869,