WebMail Helper - 许多有用的 ASP.NET Web Helper 之一。
使用 WebMail 对象,您可以轻松地从网页发送电子邮件。
WebMail Helper 可以轻松地使用 SMTP(简单邮件传输协议)从 Web 应用程序发送电子邮件。
为了演示电子邮件的使用,我们将创建一个支持输入页面,让用户将该页面提交到另一个页面,并发送有关支持问题的电子邮件。
如果您已在本教程中构建了演示应用程序,则您已经拥有一个名为 _AppStart.cshtml 的页面,其中包含以下内容:
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
要启动 WebMail 帮助程序,请将以下 WebMail 属性添加到您的 AppStart 页面:
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "support@example.com";
WebMail.Password = "password-goes-here";
WebMail.From = "john@example.com";
}
属性解释:
SMTP服务器:将用于发送电子邮件的 SMTP 服务器的名称。
SMTP端口:服务器将用于发送 SMTP 事务(电子邮件)的端口。
启用SSL:确实如此,如果服务器应该使用 SSL(安全套接字层)加密。
用户名:用于发送电子邮件的 SMTP 电子邮件帐户的名称。
密码:SMTP 电子邮件帐户的密码。
从:发件人地址中显示的电子邮件(通常与用户名相同)。
然后创建一个输入页面,并将其命名为Email_Input:
<!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>
输入页面的目的是收集信息,然后将数据提交到可以将信息作为电子邮件发送的新页面。
然后创建将用于发送电子邮件的页面,并将其命名为 Email_Send:
@{ // Read input
var customerEmail = Request["customerEmail"];
var customerRequest = Request["customerRequest"];
try
{
// Send email
WebMail.Send(to:"someone@example.com", subject: "Help request from - " + customerEmail, body: customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
}
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 |
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
Send() 方法具有以下参数:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
以及以下可选参数:
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 |
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
要使用 WebMail 帮助程序,您需要访问 SMTP 服务器。 SMTP 是电子邮件的"output" 部分。如果您使用 Web 主机,您可能已经知道 SMTP 服务器的名称。如果您在公司网络中工作,您的 IT 部门可以为您提供该名称。如果您在家工作,您也许可以使用普通的电子邮件提供商。
为了发送电子邮件,您需要:
在网站的根目录中,创建一个名为的页面(或编辑页面)_AppStart.cshtml。
将以下代码放入文件中:
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "support@example.com";
WebMail.Password = "password";
WebMail.From = "john@example.com"
}
上面的代码将在每次网站(应用程序)启动时运行。它喂养你的网络邮件对象与初始值。
请替换:
smtp.example.com名称为将用于发送电子邮件的 SMTP 服务器。
25以及服务器将用于发送 SMTP 事务(电子邮件)的端口号。
错误的如果服务器应使用 SSL(安全套接字层)加密,则为 true。
support@example.com以及用于发送电子邮件的 SMTP 电子邮件帐户的名称。
密码使用 SMTP 电子邮件帐户的密码。
约翰@例子电子邮件将显示在发件人地址中。
你不必须在 AppStart 文件中启动 WebMail 对象,但必须在调用之前设置这些属性WebMail.Send()方法。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!