ENVIAR EMAIL PELO EXCEL (sem outlook)
Olá pessoal, hoje quero ensinar vocês a enviarem email pelo Excel sem utilizar o Outlook. Para realizar este envio utilizaremos o VBA e para facilitar o trabalho de vocês, estou disponibilizando duas linguagens prontas, uma para GMAIL e outra para HOTMAIL.
Importante deixar claro que este envio não se limitam a GMAIL e HOTMAIL, outros domínios poderão ser utilizados, basta alterar as configurações de SMTP, PORTA, SENHA e EMAIL...
Seguem as linguagem:
'-----------------------------
Sub email_gmail()
Dim iMsg, Cdo_Conf, Flds
sch = "http://schemas.microsoft.com/cdo/configuration/" Set Cdo_Conf = CreateObject("CDO.Configuration")
'Variaveis
Dim servidor_smtp As String Dim conta_autenticada As String Dim senha_para_envio As String Dim email_origem As String Dim email_destino As String Dim email_porta As Integer
'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.
servidor_smtp = "smtp.gmail.com" ' Informacoes so seu servidor SMTP senha_para_envio = "12345" ' senha da conta de e-mail email_origem = "darlanmac@gmail.com" ' e-mail que indica de onde partiu a mensagem email_destino = "darlanmac@gmail.com" ' e-mail que vai receber as mensagens do formulario email_assunto = "Teste Prof Darlan" ' Assunto do email email_corpo = "Teste corpo do Email..." ' Corpo do Email email_porta = 465 ' porta smtp
Cdo_Conf.Fields.Item(sch & "sendusing") = 2 Cdo_Conf.Fields.Item(sch & "smtpauthenticate") = 1 Cdo_Conf.Fields.Item(sch & "smtpserver") = servidor_smtp Cdo_Conf.Fields.Item(sch & "smtpserverport") = email_porta Cdo_Conf.Fields.Item(sch & "smtpconnectiontimeout") = 60 Cdo_Conf.Fields.Item(sch & "sendusername") = email_origem Cdo_Conf.Fields.Item(sch & "sendpassword") = senha_para_envio Cdo_Conf.Fields.Item(sch & "smtpusessl") = True Cdo_Conf.Fields.Update
Set Cdo_Mensagem = CreateObject("CDO.Message") Set Cdo_Mensagem.Configuration = Cdo_Conf
Cdo_Mensagem.BodyPart.Charset = "iso-8859-1" Cdo_Mensagem.From = email_origem Cdo_Mensagem.To = email_destino Cdo_Mensagem.Subject = email_assunto
'------Para anexar arquivo use uma das linguagens abaixo 'Cdo_Mensagem.AddAttachment (ThisWorkbook.Path & "\Envio\Arquivo das Lojas Envio.xlsm") 'ou 'Cdo_Mensagem.AddAttachment ("C:\Envio\Arquivo das Lojas Envio.xlsm")
strBody = email_corpo
Cdo_Mensagem.HTMLBody = strBody
Cdo_Mensagem.Send
Set Cdo_Mensagem = Nothing Set Cdo_Conf = Nothing
MsgBox "E-mail enviado com sucesso"
End Sub
'-------------------------------
Sub email_hotmail()
Dim iMsg, Cdo_Conf, Flds
sch = "http://schemas.microsoft.com/cdo/configuration/" Set Cdo_Conf = CreateObject("CDO.Configuration")
'Variaveis Dim servidor_smtp As String Dim conta_autenticada As String Dim senha_para_envio As String Dim email_origem As String Dim email_destino As String Dim email_porta As Integer
'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.
servidor_smtp = "smtp.live.com" ' Informacoes so seu servidor SMTP senha_para_envio = "12345" ' senha da conta de e-mail email_origem = "danicardoso4@hotmail.com" ' e-mail que indica de onde partiu a mensagem email_destino = "darlanmac@gmail.com" ' e-mail que vai receber as mensagens do formulario email_assunto = "Teste Prof Darlan" ' Assunto do email email_corpo = "Teste corpo do Email..." ' Corpo do Email email_porta = 25 ' porta smtp
Cdo_Conf.Fields.Item(sch & "sendusing") = 2 Cdo_Conf.Fields.Item(sch & "smtpauthenticate") = 1 Cdo_Conf.Fields.Item(sch & "smtpserver") = servidor_smtp Cdo_Conf.Fields.Item(sch & "smtpserverport") = email_porta Cdo_Conf.Fields.Item(sch & "smtpconnectiontimeout") = 60 Cdo_Conf.Fields.Item(sch & "sendusername") = email_origem Cdo_Conf.Fields.Item(sch & "sendpassword") = senha_para_envio Cdo_Conf.Fields.Item(sch & "smtpusessl") = True Cdo_Conf.Fields.Update
Set Cdo_Mensagem = CreateObject("CDO.Message") Set Cdo_Mensagem.Configuration = Cdo_Conf
Cdo_Mensagem.BodyPart.Charset = "iso-8859-1" Cdo_Mensagem.From = email_origem Cdo_Mensagem.To = email_destino Cdo_Mensagem.Subject = email_assunto
'------Para anexar arquivo use uma das linguagens abaixo 'Cdo_Mensagem.AddAttachment (ThisWorkbook.Path & "\Envio\Arquivo das Lojas Envio.xlsm") 'ou 'Cdo_Mensagem.AddAttachment ("C:\Envio\Arquivo das Lojas Envio.xlsm")
strBody = email_corpo
Cdo_Mensagem.HTMLBody = strBody
Cdo_Mensagem.Send
Set Cdo_Mensagem = Nothing Set Cdo_Conf = Nothing
MsgBox "E-mail enviado com sucesso"
End Sub