ASP.NET 网页 - WebMail 助手
WebMail 助手 - 众多有用的 ASP.NET 网页助手之一。
使用 WebMail 对象,您可以轻松地从网页发送电子邮件。
WebMail 助手
WebMail 助手使用 SMTP (简单邮件传输协议) 轻松地从 Web 应用程序发送电子邮件。
场景:电子邮件支持
为了演示电子邮件的使用,我们将创建一个支持输入页面,让用户将页面提交到另一个页面,并发送有关支持问题的电子邮件。
首先:编辑您的 AppStart 页面
如果您在本教程中构建了演示应用程序,那么您已经有一个名为 _AppStart.cshtml 的页面,其内容如下:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
要启动 WebMail 助手,请将以下 WebMail 属性添加到您的 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]";
}
属性解释
SmtpServer: 用于发送电子邮件的 SMTP 服务器名称。
SmtpPort: 服务器用于发送 SMTP 事务(电子邮件)的端口。
EnableSsl: 如果服务器应使用 SSL (安全套接字层) 加密,则为 True。
UserName: 用于发送电子邮件的 SMTP 电子邮件帐户的名称。
Password: SMTP 电子邮件帐户的密码。
From: 作为发件人地址显示的电子邮件(通常与 UserName 相同)。
第二步:创建一个电子邮件输入页面
然后创建一个输入页面,并将其命名为 Email_Input
Email_Input.cshtml
<!DOCTYPE html>
<html>
<body>
<h1>求助请求</h1>
<form method="post" action="EmailSend.cshtml">
<label>用户名:</label>
<input type="text" name="customerEmail" />
<label>有关问题的详细信息:</label>
<textarea name="customerRequest" cols="45" rows="4"></textarea>
<p><input type="submit" value="提交" /></p>
</form>
</body>
</html>
输入页面的目的是收集信息,然后将数据提交到可以将信息作为电子邮件发送的新页面。
第三步:创建一个电子邮件发送页面
然后创建将用于发送电子邮件的页面,并将其命名为 Email_Send
Email_Send.cshtml
@{ // 读取输入
var customerEmail = Request["customerEmail"];
var customerRequest = Request["customerRequest"];
try
{
// 发送电子邮件
WebMail.Send(to:"[email protected]", subject: "Help request from - " + customerEmail, body: customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
}
WebMail 对象参考 - 属性
属性 | 描述 |
---|---|
SmtpServer | 发送电子邮件的 SMTP 服务器名称 |
SmtpPort | 服务器用于发送 SMTP 电子邮件的端口 |
EnableSsl | 如果服务器应使用 SSL 加密,则为 True |
UserName | 用于发送电子邮件的 SMTP 帐户的名称 |
Password | SMTP 帐户的密码 |
From | 作为发件人地址显示的电子邮件 |
WebMail 对象参考 - 方法
方法 | 描述 |
---|---|
Send() | 将电子邮件消息发送到 SMTP 服务器以进行传递 |
Send() 方法具有以下参数
参数 | 类型 | 描述 |
---|---|---|
to | 字符串 | 电子邮件收件人(用分号分隔) |
subject | 字符串 | 主题行 |
body | 字符串 | 邮件正文 |
以及以下可选参数
参数 | 类型 | 描述 |
---|---|---|
from | 字符串 | 发件人的电子邮件 |
cc | 字符串 | 抄送电子邮件(用分号分隔) |
filesToAttach | 集合 | 文件名 |
isBodyHtml | 布尔值 | 如果电子邮件正文是 HTML,则为 True |
additionalHeaders | 集合 | 其他标头 |
技术数据
名称 | 值 |
---|---|
类 | System.Web.Helpers.WebMail |
命名空间 | System.Web.Helpers |
程序集 | System.Web.Helpers.dll |
初始化 WebMail 助手
要使用 WebMail 助手,您需要访问 SMTP 服务器。SMTP 是电子邮件的“输出”部分。如果您使用的是 Web 主机,您可能已经知道 SMTP 服务器的名称。如果您在公司网络中工作,您的 IT 部门可以告诉您名称。如果您在家工作,您可能可以使用您的普通电子邮件提供商。
要发送电子邮件,您需要
- SMTP 服务器的名称
- 端口号(通常为 25)
- 电子邮件用户名
- 电子邮件密码
在您的 Web 根目录中,创建一个页面(或编辑该页面),并将其命名为 _AppStart.cshtml。
将以下代码放在文件内
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}
上面的代码将在网站(应用程序)每次启动时运行。它将您的 WebMail 对象 填充初始值。
请替换
smtp.example.com 为用于发送电子邮件的 SMTP 服务器的名称。
25 为服务器用于发送 SMTP 事务(电子邮件)的端口号。
false 为 true,如果服务器应使用 SSL (安全套接字层) 加密。
[email protected] 为用于发送电子邮件的 SMTP 电子邮件帐户的名称。
password 为 SMTP 电子邮件帐户的密码。
john@example 为作为发件人地址显示的电子邮件。
您不必在 AppStart 文件中初始化 WebMail 对象,但必须在调用 WebMail.Send() 方法之前设置这些属性。