Trang web ASP.NET - Trình trợ giúp WebMail
Trình trợ giúp WebMail - Một trong nhiều Trình trợ giúp Web ASP.NET hữu ích.
Với đối tượng WebMail bạn có thể dễ dàng gửi email từ một trang web.
Trình trợ giúp WebMail
Trình trợ giúp WebMail giúp bạn dễ dàng gửi email từ ứng dụng web bằng cách sử dụng SMTP (Giao thức truyền thư đơn giản).
Tình huống: Hỗ trợ qua email
Để minh họa cách sử dụng email, chúng tôi sẽ tạo một trang đầu vào để hỗ trợ, cho phép người dùng gửi trang này sang trang khác và gửi email về vấn đề hỗ trợ.
Đầu tiên: Chỉnh sửa trang AppStart của bạn
Nếu bạn đã xây dựng ứng dụng Demo trong hướng dẫn này thì bạn đã có một trang có tên _AppStart.cshtml với nội dung sau:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}
Để khởi chạy trình trợ giúp WebMail, hãy thêm các thuộc tính WebMail sau vào trang AppStart của bạn:
_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] ";
}
Thuộc tính được giải thích:
SmtpServer: Tên máy chủ SMTP sẽ được sử dụng để gửi email.
SmtpPort: Cổng mà máy chủ sẽ sử dụng để gửi các giao dịch SMTP (email).
EnableSsl: Đúng, nếu máy chủ nên sử dụng mã hóa SSL (Lớp cổng bảo mật).
Tên người dùng: Tên của tài khoản email SMTP được sử dụng để gửi email.
Mật khẩu: Mật khẩu của tài khoản email SMTP.
From: Email xuất hiện trong địa chỉ gửi (thường giống với Tên người dùng).
Thứ hai: Tạo trang nhập email
Sau đó tạo một trang đầu vào và đặt tên là Email_Input:
Email_Input.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>
Mục đích của trang nhập là thu thập thông tin, sau đó gửi dữ liệu đến một trang mới có thể gửi thông tin dưới dạng email.
Thứ ba: Tạo trang gửi email
Sau đó tạo trang sẽ được sử dụng để gửi email và đặt tên là 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>
}
}
Tham chiếu đối tượng WebMail - Thuộc tính
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 |
Tham chiếu đối tượng WebMail - Phương thức
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
Phương thức Send() có các tham số sau:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
Và các tham số tùy chọn sau:
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 |
Thông số kỹ thuật
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
Đang khởi tạo Trình trợ giúp WebMail
Để sử dụng trình trợ giúp WebMail, bạn cần có quyền truy cập vào máy chủ SMTP. SMTP là phần "đầu ra" của email. Nếu bạn sử dụng máy chủ web, có thể bạn đã biết tên của máy chủ SMTP. Nếu bạn làm việc trong mạng công ty, bộ phận CNTT có thể cung cấp tên cho bạn. Nếu bạn đang làm việc tại nhà, bạn có thể sử dụng nhà cung cấp email thông thường của mình.
Để gửi email bạn sẽ cần:
- Tên của máy chủ SMTP
- Số cổng (thường xuyên nhất là 25)
- Tên người dùng email
- Mật khẩu email
Trong thư mục gốc của trang web của bạn, hãy tạo một trang (hoặc chỉnh sửa trang ) có tên _AppStart.cshtml .
Đặt đoạn mã sau vào trong tệp:
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = " [email protected] ";
WebMail.Password = "password";
WebMail.From = " [email protected] "
}
Đoạn mã trên sẽ chạy mỗi khi trang web (ứng dụng) khởi động. Nó cung cấp cho Đối tượng WebMail của bạn các giá trị ban đầu.
Hãy thay thế:
smtp.example.com với tên máy chủ SMTP sẽ được sử dụng để gửi email.
25 bằng số cổng mà máy chủ sẽ sử dụng để gửi các giao dịch SMTP (email).
sai bằng đúng, nếu máy chủ nên sử dụng mã hóa SSL (Lớp cổng bảo mật).
[email protected] với tên tài khoản email SMTP được sử dụng để gửi email.
mật khẩu bằng mật khẩu của tài khoản email SMTP.
john@example với email xuất hiện trong địa chỉ gửi.
Bạn không cần phải khởi tạo đối tượng WebMail trong tệp AppStart của mình nhưng bạn phải đặt các thuộc tính này trước khi gọi phương thức WebMail.Send() .