ASP.NET Web Pages - WebMail 輔助工具
WebMail 輔助工具 - 眾多有用的 ASP.NET Web 輔助工具之一。
使用 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 = "support@example.com";
WebMail.Password = "password-goes-here";
WebMail.From = "john@example.com";
}
屬性說明
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:"someone@example.com", subject: "來自 - " + customerEmail 的幫助請求", body: customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
}
WebMail 物件參考 - 屬性
屬性 | 描述 |
---|---|
SmtpServer | 將傳送電子郵件的 SMTP 伺服器名稱 |
SmtpPort | 伺服器用於傳送 SMTP 電子郵件的埠 |
EnableSsl | 如果伺服器應使用 SSL 加密,則為 True |
UserName | 用於傳送電子郵件的 SMTP 賬戶名稱 |
密碼 | SMTP 賬戶的密碼 |
From | 顯示在發件人地址中的電子郵件 |
WebMail 物件參考 - 方法
方法 | 描述 |
---|---|
Send() | 向 SMTP 伺服器傳送電子郵件以進行傳遞 |
Send() 方法具有以下引數
引數 | 型別 | 描述 |
---|---|---|
to | 字串 | 電子郵件收件人(用分號分隔) |
主題 | 字串 | 主題行 |
body | 字串 | 郵件正文 |
以及以下可選引數
引數 | 型別 | 描述 |
---|---|---|
from | 字串 | 發件人的電子郵件 |
抄送 | 字串 | 抄送電子郵件(用分號分隔) |
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 = "support@example.com";
WebMail.Password = "password";
WebMail.From = "john@example.com"
}
上面的程式碼將在每次網站(應用程式)啟動時執行。它為您的 WebMail 物件提供初始值。
請替換
smtp.example.com 為將用於傳送電子郵件的 SMTP 伺服器名稱。
25 為伺服器將用於傳送 SMTP 事務(電子郵件)的埠號。
false 為 true,如果伺服器應使用 SSL(安全套接字層)加密。
support@example.com 為用於傳送電子郵件的 SMTP 電子郵件賬戶名稱。
password 為 SMTP 電子郵件賬戶的密碼。
john@example 為顯示在發件人地址中的電子郵件。
您不必在 AppStart 檔案中初始化 WebMail 物件,但您必須在呼叫 WebMail.Send() 方法之前設定這些屬性。