Páginas web ASP.NET - El ayudante de WebMail
WebMail Helper: uno de los muchos útiles ASP.NET Web Helpers.
Con el objeto WebMail puede enviar fácilmente correos electrónicos desde una página web.
El ayudante de correo web
WebMail Helper facilita el envío de un correo electrónico desde una aplicación web mediante SMTP (Protocolo simple de transferencia de correo).
Escenario: soporte por correo electrónico
Para demostrar el uso del correo electrónico, crearemos una página de entrada para soporte, dejaremos que el usuario envíe la página a otra página y enviaremos un correo electrónico sobre el problema de soporte.
Primero: edite la página de inicio de su aplicación
Si ha creado la aplicación de demostración en este tutorial, ya tiene una página llamada _AppStart.cshtml con el siguiente contenido:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}
Para iniciar el asistente de WebMail, agregue las siguientes propiedades de WebMail a su página AppStart:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password-goes-here";
WebMail.From = "[email protected]";
}
Propiedades explicadas:
SmtpServer: el nombre del servidor SMTP que se utilizará para enviar los correos electrónicos.
SmtpPort: El puerto que utilizará el servidor para enviar transacciones SMTP (correos electrónicos).
EnableSsl: Verdadero, si el servidor debe usar cifrado SSL (Secure Socket Layer).
Nombre de usuario: el nombre de la cuenta de correo electrónico SMTP utilizada para enviar el correo electrónico.
Contraseña: la contraseña de la cuenta de correo electrónico SMTP.
De: el correo electrónico que aparecerá en la dirección del remitente (a menudo el mismo que el nombre de usuario).
Segundo: crear una página de entrada de correo electrónico
A continuación, cree una página de entrada y asígnele el nombre Email_Input:
Entrada de correo electrónico.cshtml
<!DOCTYPE html>
<html>
<body>
<h1>Request for
Assistance</h1>
<form method="post" action="EmailSend.cshtml">
<label>Username:</label>
<input type="text" name="customerEmail" />
<label>Details about the problem:</label>
<textarea name="customerRequest"
cols="45" rows="4"></textarea>
<p><input type="submit" value="Submit"
/></p>
</form>
</body>
</html>
El propósito de la página de entrada es recopilar información y luego enviar los datos a una nueva página que puede enviar la información como un correo electrónico.
Tercero: crear una página de envío de correo electrónico
Luego cree la página que se usará para enviar el correo electrónico y asígnele el nombre Email_Send:
Email_Send.cshtml
@{ // Read input
var customerEmail = Request["customerEmail"];
var customerRequest = Request["customerRequest"];
try
{
// Send email
WebMail.Send(to:"[email protected]", subject: "Help request from - " + customerEmail, body:
customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
}
Referencia de objetos de WebMail - Propiedades
Properties | Description |
---|---|
SmtpServer | The name the SMTP server that will send the emails |
SmtpPort | The port the server will use to send SMTP emails |
EnableSsl | True, if the server should use SSL encryption |
UserName | The name of the SMTP account used to send the email |
Password | The password of the SMTP account |
From | The email to appear in the from address |
Referencia de objetos de WebMail - Métodos
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
El método Send() tiene los siguientes parámetros:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
Y los siguientes parámetros opcionales:
Parameter | Type | Description |
---|---|---|
from | String | The email of the sender |
cc | String | The cc emails (separated by semicolon) |
filesToAttach | Collection | Filenames |
isBodyHtml | Boolean | True if the email body is in HTML |
additionalHeaders | Collection | Additional headers |
Datos técnicos
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
Inicialización de WebMail Helper
Para usar el asistente de WebMail, necesita acceso a un servidor SMTP. SMTP es la parte de "salida" del correo electrónico. Si utiliza un proveedor de alojamiento web, probablemente ya conozca el nombre del servidor SMTP. Si trabaja en una red corporativa, su departamento de TI puede darle el nombre. Si está trabajando en casa, es posible que pueda utilizar su proveedor de correo electrónico habitual.
Para enviar un correo electrónico necesitarás:
- El nombre del servidor SMTP
- El número de puerto (la mayoría de las veces 25)
- Un nombre de usuario de correo electrónico
- Una contraseña de correo electrónico
En la raíz de su web, cree una página (o edite la página) llamada _AppStart.cshtml .
Ponga el siguiente código dentro del archivo:
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}
El código anterior se ejecutará cada vez que se inicie el sitio web (aplicación). Alimenta su objeto WebMail con valores iniciales.
Por favor, sustituya:
smtp.example.com con el nombre del servidor SMTP que se utilizará para enviar los correos electrónicos.
25 con el número de puerto que utilizará el servidor para enviar transacciones SMTP (correos electrónicos).
falso con verdadero, si el servidor debe usar cifrado SSL (Secure Socket Layer).
[email protected] con el nombre de la cuenta de correo electrónico SMTP utilizada para enviar correos electrónicos.
contraseña con la contraseña de la cuenta de correo electrónico SMTP.
john@example con el correo electrónico que aparecerá en la dirección de origen.
No es necesario que inicie el objeto WebMail en su archivo AppStart, pero debe establecer estas propiedades antes de llamar al método WebMail.Send() .