Como comentaba, el método backupDB() se encargará de llamar al método enviarEmail().
Enviar un email con adjuntos
- Importamos Imports System.Net.Mail antes de la declaración de la clase
- Creamos un método enviarEmail() que se encargará de enviar por email cualquier archivo adjunto.
- En mi caso cojo la fecha actual para enviarla en el sujeto del mensaje.
- Configuramos los datos de los emails de origen y destino.
- El puerto y el Host, en este caso está hecho por gmail, para otras configuraciones buscar por internet o con vuestro proveedor.
- Finalmente a la variable mail le asignamos todas las configuraciones, From, To, Subject, Body, Attachments.
- Y enviamos el email SmtpServer.Send(mail)
- Si el envío es correcto o no nos avisará con un popup.
Public Sub enviarEmail()
Dim d As Date
d = Date.Now
Dim completDate As String = d.ToString()
Dim aux() As String = completDate.Split(" ")
Dim fechaCompleta() As String = aux(0).Split("/")
Dim dia As String = fechaCompleta(0)
Dim mes As String = fechaCompleta(1)
Dim año As String = fechaCompleta(2)
Dim correcto As Boolean = True
Dim SmtpServer As New SmtpClient()
Dim mail As New MailMessage()
Dim attachment As New Net.Mail.Attachment ("C:\Programa\Email\baseDatos.sql")
Dim eMensaje1, eTo, eNuestroCorreo, eNuestraContraseña As String
Try
eNuestroCorreo = "tucorreo@tudominio.com"
eNuestraContraseña = "tucontraseña"
eMensaje1 = "Mensaje generado automaticamente como copia de seguridad de la base de datos"
eTo = "correodestino@dominiodestino.com"
SmtpServer.Port = 587
SmtpServer.Host = "smtp.gmail.com"
SmtpServer.EnableSsl = True
SmtpServer.Credentials = New Net.NetworkCredential _
(eNuestroCorreo, eNuestraContraseña)
mail = New MailMessage()
mail.From = New MailAddress(eNuestroCorreo)
mail.To.Add(eTo)
mail.Subject = "Copia Seguridad DB " & dia & "/" & mes & "/" & año
mail.Body = eMensaje1
mail.IsBodyHtml = True
mail.Attachments.Add(attachment)
SmtpServer.Send(mail)
Catch ex As Exception
MsgBox("No se pudo enviar el email", MsgBoxStyle.Exclamation, "Error")
correcto = False
End Try
If correcto Then
MsgBox("Copia enviada por email correctamente!", MsgBoxStyle.Information, "Correcto")
End If
End Sub
Dim d As Date
d = Date.Now
Dim completDate As String = d.ToString()
Dim aux() As String = completDate.Split(" ")
Dim fechaCompleta() As String = aux(0).Split("/")
Dim dia As String = fechaCompleta(0)
Dim mes As String = fechaCompleta(1)
Dim año As String = fechaCompleta(2)
Dim correcto As Boolean = True
Dim SmtpServer As New SmtpClient()
Dim mail As New MailMessage()
Dim attachment As New Net.Mail.Attachment ("C:\Programa\Email\baseDatos.sql")
Dim eMensaje1, eTo, eNuestroCorreo, eNuestraContraseña As String
Try
eNuestroCorreo = "tucorreo@tudominio.com"
eNuestraContraseña = "tucontraseña"
eMensaje1 = "Mensaje generado automaticamente como copia de seguridad de la base de datos"
eTo = "correodestino@dominiodestino.com"
SmtpServer.Port = 587
SmtpServer.Host = "smtp.gmail.com"
SmtpServer.EnableSsl = True
SmtpServer.Credentials = New Net.NetworkCredential _
(eNuestroCorreo, eNuestraContraseña)
mail = New MailMessage()
mail.From = New MailAddress(eNuestroCorreo)
mail.To.Add(eTo)
mail.Subject = "Copia Seguridad DB " & dia & "/" & mes & "/" & año
mail.Body = eMensaje1
mail.IsBodyHtml = True
mail.Attachments.Add(attachment)
SmtpServer.Send(mail)
Catch ex As Exception
MsgBox("No se pudo enviar el email", MsgBoxStyle.Exclamation, "Error")
correcto = False
End Try
If correcto Then
MsgBox("Copia enviada por email correctamente!", MsgBoxStyle.Information, "Correcto")
End If
End Sub
No hay comentarios:
Publicar un comentario