Halaman Web ASP.NET - Pembantu WebMail


Pembantu WebMail - Salah satu dari banyak Pembantu Web ASP.NET yang berguna.

Dengan objek WebMail Anda dapat dengan mudah mengirim email dari halaman web.


Pembantu WebMail

WebMail Helper memudahkan pengiriman email dari aplikasi web menggunakan SMTP (Simple Mail transfer Protocol).


Skenario: Dukungan Email

Untuk mendemonstrasikan penggunaan email, kami akan membuat halaman input untuk dukungan, membiarkan pengguna mengirimkan halaman ke halaman lain, dan mengirim email tentang masalah dukungan.


Pertama: Edit Halaman Awal Aplikasi Anda

Jika Anda telah membangun aplikasi Demo dalam tutorial ini, Anda sudah memiliki halaman bernama _AppStart.cshtml dengan konten berikut:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

Untuk memulai pembantu WebMail, tambahkan properti WebMail berikut ke halaman AppStart Anda:

_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]";

}

Properti menjelaskan:

SmtpServer: Nama server SMTP yang akan digunakan untuk mengirim email.

SmtpPort: Port yang akan digunakan server untuk mengirim transaksi SMTP (email).

EnableSsl: Benar, jika server harus menggunakan enkripsi SSL (Secure Socket Layer).

UserName: Nama akun email SMTP yang digunakan untuk mengirim email.

Kata Sandi: Kata sandi akun email SMTP.

Dari: Email yang akan muncul di alamat dari (seringkali sama dengan Nama Pengguna).



Kedua: Buat Halaman Input Email

Kemudian buat halaman input, dan beri nama 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>

Tujuan dari halaman input adalah untuk mengumpulkan informasi, kemudian mengirimkan data ke halaman baru yang dapat mengirimkan informasi tersebut sebagai email.


Ketiga: Buat Halaman Kirim Email

Kemudian buat halaman yang akan digunakan untuk mengirim email, dan beri nama 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>
}
}

Referensi Objek WebMail - Properti

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

Referensi Objek WebMail - Metode

Method Description
Send() Sends an email message to an SMTP server for delivery

Metode Send() memiliki parameter berikut:

Parameter Type Description
to String The Email recipients (separated by semicolon)
subject String The subject line
body String The body of the message

Dan parameter opsional berikut:

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

Data teknis

Name Value
Class System.Web.Helpers.WebMail
Namespace System.Web.Helpers
Assembly System.Web.Helpers.dll

Menginisialisasi Pembantu WebMail

Untuk menggunakan pembantu WebMail, Anda memerlukan akses ke server SMTP. SMTP adalah bagian "keluaran" dari email. Jika Anda menggunakan web host, Anda mungkin sudah mengetahui nama server SMTP. Jika Anda bekerja di jaringan perusahaan, departemen TI Anda dapat memberi Anda nama tersebut. Jika Anda bekerja di rumah, Anda mungkin dapat menggunakan penyedia email biasa.

 Untuk mengirim email, Anda memerlukan:

  • Nama server SMTP
  • Nomor port (paling sering 25)
  • Nama pengguna email
  • Kata sandi email

Di root web Anda, buat halaman (atau edit halaman ) bernama _AppStart.cshtml .

Masukkan kode berikut di dalam file:

_AppStart.cshtml

@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}

Kode di atas akan berjalan setiap kali situs web (aplikasi) dimulai. Ini memberi makan Objek WebMail Anda dengan nilai awal.

Silakan ganti:

smtp.example.com dengan nama server SMTP yang akan digunakan untuk mengirim email.

25 dengan nomor port yang akan digunakan server untuk mengirim transaksi SMTP (email).

false dengan true, jika server harus menggunakan enkripsi SSL (Secure Socket Layer).

[email protected] dengan nama akun email SMTP yang digunakan untuk mengirim email.

kata sandi dengan kata sandi akun email SMTP.

john@example dengan email yang akan muncul di alamat dari.

Anda tidak harus memulai objek WebMail di file AppStart, tetapi Anda harus menyetel properti ini sebelum memanggil metode WebMail.Send() .