Académique Documents
Professionnel Documents
Culture Documents
System.Net.Mail
1. Imports System.Net.Mail
1. Dim mail As New MailMessage()
2. 'Para enviar mensaje en HTML
3. mail.IsBodyHtml = True
4.
5. 'A quien se le envia
6. mail.To.Add("destinatario@ejemplo.com")
7. mail.To.Add("OtroDestinatario@ejemplo.com")
8. 'Con copia para
9. mail.CC.Add("Copia@ejemplo.com")
10.
'Con copia oculta
11.
mail.Bcc.Add("CopiaOculta@ejemplo.com")
12.
'De parte de quien
13.
mail.From = New
MailAddress("DeParteDeQuien@ejemplo.com", "Juan
Prez")
14.
15.
'Si necesitas agregar una direccion de respuesta
distinta
16.
mail.ReplyTo = New
MailAddress("AQuienResponder@ejemplo.com", "Elisa
Romero")
17.
'Asunto
18.
mail.Subject = "Hola amigos"
19.
'Cuerpo
20.
mail.Body = "<b>Hola, como estn</b> todos?"
21.
22.
'Por si necesitas aniadir archivos adjuntos
23.
mail.Attachments.Add(New
Attachment("c:archivo1.jpg"))
24.
mail.Attachments.Add(New
Attachment("c:archivo2.jpg"))
25.
26.
Dim smtp As New SmtpClient("127.0.0.1") 'La
direccion IP del servidor SMTP
27.
'Si deseas autenticacion usa la siguiente linea
28.
smtp.Credentials = New
Net.NetworkCredential("login", "password")
29.
'Listo, envia el mail
30.
smtp.Send(mail)
Cdigo VB.NET:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles
Button1.Click
Dim mail As New MailMessage
mail.From = New MailAddress("algun_correo1")
mail.To.Add("algun_correo2")
mail.Subject = "Email de prueba con archivo adjunto"
mail.Body = "chequea el archivo adjunto que viene en este email"
If FileUpload1.HasFile Then
Dim MyFile As String =
System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName)
Dim attachmentFile As New Attachment(FileUpload1.PostedFile.InputStream,
MyFile)
mail.Attachments.Add(attachmentFile)
End If
Dim mailClient As New SmtpClient()
Dim basicAuthenticationInfo As New NetworkCredential("algun_correo1",
"algun_password1")
mailClient.Host = "algun_email_host"
mailClient.UseDefaultCredentials = True
mailClient.Credentials = basicAuthenticationInfo
mailClient.Send(mail)
End Sub
Para ambos casos debemos importar:
Imports System.Net
Imports System.Net.Mail
Comentarios y errores
Hola,
Si tengo dos archivos en el servidor que quiero mandar por email, s como adjuntar uno de los
archivos, pero cmo adjunto los dos??
slo repite el cdigo:
Dim File1 As String = Server.MapPath("~/files/simple_file1.txt")
Dim File2 As String = Server.MapPath("~/files/simple_file2.txt")
Mail.Attachments.Add(New Attachment(File1))
Mail.Attachments.Add(New Attachment(File2))
Respuesta
Pienso que no hay error del cdigo ASP.NET, por otro lado, puedes intentar algunas cosas para
ir descartando la causa del problema:
1.- Verifica que el nombre tanto del usuario/contrasea/servidor SMTP sean correctos.
2.- Haz Telnet al puerto 25 de tu servidor para ver si est trabajando.
3.- chequea que no haya firewalls bloqueando tu conexin.
4.- Verifica que el servicio SMTP est corriendo y trabajando sobre el puerto 25.
pero como puedo adjutar dichos archivos tendria que utilizar un FileUpload , no lo se
por eso recurro a ustedes ademas es la primera vez que intento hacer algo asi he
buscado en google y hay arto material pero hay cosas que no entiendo.
Gracias y FELICES FIESTAS
sbado, 24 de diciembre de 2011 9:12
Responder
|
Citar
JonaGuitar
45 Puntos
Respuestas
Gracias.
Comentarios y errores
Hola,
Para ajuntar archivo puede utilizar
la propiedad Attachments.Add(("archivo.doc") que incluye
un mtodo add() que recibe como parametro un objecto que es el que
usted vas a enviar le dejo un una funcin que le puede ser de utilidad.
Public Shared Function SendMail(ByVal strFrom As String, ByVal strTo As
String, ByVal strSubject As String, ByVal strMsg As String) As Boolean
Try
' Create the mail message
Dim objMailMsg As New System.Web.Mail.MailMessage(strFrom, strTo)
objMailMsg.BodyEncoding = Encoding.UTF8
objMailMsg.Subject = strSubject
objMailMsg.Body = strMsg
Dim at As New Attachment(Server.MapPath("~/Uploaded/txt.doc"))
objMailMsg.Attachments.Add((at)
objMailMsg.Priority = System.Web.Mail.MailPriority.High
objMailMsg.IsBodyHtml = True
'prepare to send mail via SMTP transport
Dim objSMTPClient As New SmtpClient()
objSMTPClient.DeliveryMethod =
SmtpDeliveryMethod.PickupDirectoryFromIis
objSMTPClient.Send(objMailMsg)
Return True
Catch ex As Exception
Throw ex
End Try
End Function
2
Inicie sesin para votar
Amigos pude solucionar mi problema les dejo el codigo:
If FileUpload1.HasFile Then
Try
FileUpload1.SaveAs("C:\temp\" + FileUpload1.FileName)
'SUPONIENDO QUE ES LA CARPETA DEL SERVIDOR
Me.Label2.Text = "Nombre Archivo: " &
FileUpload1.PostedFile.FileName & "<br>" & _
"Tamao Archivo: " &
FileUpload1.PostedFile.ContentLength & " kb<br>"
Catch ex As Exception
Throw New Exception("Error: (" & ex.Message & ")")
End Try
Else
Me.Label1.Text = "No se ha especificado un archivo"
End If
Dim correo As New System.Net.Mail.MailMessage()
correo.From = New System.Net.Mail.MailAddress(Me.txtDe.Text)
correo.To.Add(Me.txtPara.Text)
correo.Subject = Me.txtAsunto.Text
correo.Body = Me.txtDescripcion.Text
correo.IsBodyHtml = False
correo.Priority = System.Net.Mail.MailPriority.Normal
'Aqui es donde adjunto el archivo para despues enviarlo.
correo.Attachments.Add(New
Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.FileName))
Gracias.