Jump to content

ENVIAR CORREO CON ARCHIVO ADJUNTO CON ASP .NET


Recommended Posts

Amigos les quiero compartir un codigo que desarrolle para el envio de mails con archivo adjunto esto esta desarrollado en Visual Studio 2008 en el lenguaje Visual Basic .NET (ASP .NET).

 

 

Aca dejo el HTML. (.aspx)

 

<html xmlns="http://www.w3.org/1999/xhtml">
 <head id="Head1" runat="server">
<title></title>
<link rel="stylesheet" href="../CSS/controles.css" type="text/css" />
<style type="text/css"></style>
 </head>
 <body>
<form id="form1" runat="server">
  <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
  <table Width="100%" Height="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
	<tr>
	  <td>
		<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
		  <tr>
			<td width="300px" class="tituloMantenedor">Enviar Presupuesto</td>
			<td width="*"> </td>
			<td width="100px"></td>
		  </tr>
		  <tr>
			<td width="300px" class="tituloMantenedor"> </td>
			<td width="*"> </td>
			<td width="100px"> </td>
		  </tr>
		  <tr>
			<td width="300px" class="tituloMantenedor"> </td>
			<td width="*"> </td>
			<td width="100px"> </td>
		  </tr>
		</table>
	  </td>
	</tr>
	<tr>
	  <td>
		<table align="center" cellspacing="0" cellpadding="3" rules="rows" border="1" class="formatoTabla" width="500px">
		  <tr>
			<td class="nombreControlesMantenedor">De</td>
			<td class="nombreControlesMantenedor">:</td>
			<td>
			  <asp:TextBox ID="txtDe" runat="server" CssClass="controlTextBoxGrandes" Enabled="True">[email protected]</asp:TextBox>
			</td>
		  </tr>
		  <tr>
			<td class="nombreControlesMantenedor">Para</td>
			<td class="nombreControlesMantenedor">:</td>
			<td>
			  <asp:TextBox ID="txtPara" runat="server" CssClass="controlTextBoxGrandes" Enabled="True"></asp:TextBox>
			</td>
		  </tr>
		  <tr>
			<td class="nombreControlesMantenedor">Asunto</td>
			<td class="nombreControlesMantenedor">:</td>
			<td>
			  <asp:TextBox ID="txtAsunto" runat="server" CssClass="controlTextBoxGrandes" Enabled="True"></asp:TextBox></td>
		  </tr>
		  <tr>
			<td class="nombreControlesMantenedor">Mensaje<br/><br/><br/><br/></td>
			<td class="nombreControlesMantenedor">:<br/><br/><br/><br/></td>
			<td>
			  <asp:TextBox ID="txtDescripcion" runat="server" BorderColor="#2F5388" TextMode="MultiLine" Enabled="True" CssClass="controlTextArea">
			  </asp:TextBox>
			</td>
		  </tr>
		  <tr>
			<td class="nombreControlesMantenedor">Adjuntar</td>
			<td class="nombreControlesMantenedor">:</td>
			<td>
			  <asp:FileUpload ID="FileUpload1" runat="server" />
			</td>
		  </tr>
		  <tr>
			<td class="nombreControlesMantenedor"> </td>
			<td class="nombreControlesMantenedor"> </td>
			<td>
			  <asp:Label ID="Label2" runat="server" style="font-family: Calibri; font-size: medium; color: #CC3300"></asp:Label>
			</td>
		  </tr>
		</table>
		<table align="center">
		  <tr>
			<td colspan="3"> </td>
		  </tr>
		  <tr>
			<td align="center" colspan="3">
			  <asp:Button ID="btnEnviar" runat="server" Text="Enviar"
				CssClass="controlBotones" />
			</td>
		  </tr>
		  <tr>
			<td align="center">
			  <asp:Label ID="Label1" runat="server" style="font-family: Calibri; font-size: medium; color: #CC3300"></asp:Label>
			</td>
		  </tr>
		  <tr>
			<td> </td>
		  </tr>
		</table>
	  </td>
	</tr>
  </table>
</form>
 </body>
</html>

 

 

Este es el codigo que va en el Code Behind (aspx.vb)

 

Imports System.Net.Mail.MailMessage
Imports System.Net.Mail.Attachment
Imports System.Net.Mail


Partial Public Class FrmEnviarCorreo
 Inherits System.Web.UI.Page
 Protected Sub btnEnviar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnEnviar.Click
If FileUpload1.HasFile Then
  Try
	FileUpload1.SaveAs("C:\temp\" + FileUpload1.FileName) 'SUPONIENDO QUE ES LA CARPETA DEL SERVIDOR ACA ESTA EN EL PC LOCAL POR ENDE USTEDES LE DAN LA RUTA DE LA CARPETA UBICADA EN EL SERVIDOR.
	Me.Label2.Text = "Nombre Archivo: " & FileUpload1.PostedFile.FileName & "<br>" & _
					 "Tamaño 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
correo.Attachments.Add(New Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.FileName))
Dim smtp As New System.Net.Mail.SmtpClient
smtp.Host = "smtp.gmail.com"  'para gmail
'smtp.Host = "smtp.live.com"	'para hotmail
smtp.Port = 587
smtp.Credentials = New System.Net.NetworkCredential("[email protected]", "xxxxxx")
smtp.EnableSsl = True
Try
  smtp.Send(correo)
  Me.Label1.Text = "Mensaje enviado satisfactoriamente"
Catch ex As Exception
  Throw New Exception("Error: (" & ex.Message & ")")
End Try
 End Sub
End Class

 

 

Espero que sea de total ayuda para el que lo necesite.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...