WebPages elektron pochta


WebMail yordamchisi — ASP.NET’ning ko‘plab foydali veb-yordamchilaridan (Web Helpers) biri.

WebMail obyekti yordamida veb-sahifadan osongina elektron xatlar yuborishingiz mumkin.


ULASHISH

WebMail yordamchisi

WebMail yordamchisi SMTP (Simple Mail transfer Protocol) yordamida veb-ilovadan elektron xat yuborishni osonlashtiradi.


Ssenariy: elektron pochta orqali yordam

Elektron pochtadan foydalanishni namoyish qilish uchun yordam so‘rovi uchun kiritish sahifasini yaratamiz, foydalanuvchiga sahifani boshqa sahifaga yuborish imkonini beramiz va yordam talab qilingan muammo haqida elektron xat jo‘natamiz.


Birinchi: AppStart sahifangizni tahrirlang

Agar ushbu darslikdagi Demo ilovasini yaratgan bo‘lsangiz, sizda quyidagi kontentga ega _AppStart.cshtml nomli sahifa allaqachon mavjud:

_AppStart.cshtml

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

WebMail yordamchisini ishga tushirish uchun AppStart sahifangizga quyidagi WebMail xususiyatlarini qo‘shing:

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

Xususiyatlar izohi:

SmtpServer: Elektron xatlarni yuborish uchun ishlatiladigan SMTP serverning nomi.

SmtpPort: Server SMTP tranzaksiyalarini (elektron xatlarni) yuborish uchun foydalanadigan port.

EnableSsl: Agar server SSL (Secure Socket Layer) shifrlashdan foydalanishi kerak bo‘lsa, True.

UserName: Elektron xatni yuborish uchun ishlatiladigan SMTP pochta hisobining nomi.

Password: SMTP pochta hisobining paroli.

From: Jo‘natuvchi (from) manzilida ko‘rinadigan elektron pochta (ko‘pincha UserName bilan bir xil).



Ikkinchi: elektron xat kiritish sahifasini yarating

So‘ngra kiritish sahifasini yarating va uni Email_Input deb nomlang:

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>

Kiritish sahifasining vazifasi — ma’lumotlarni yig‘ish, so‘ngra ularni elektron xat sifatida yubora oladigan yangi sahifaga jo‘natish.


Uchinchi: elektron xat yuborish sahifasini yarating

So‘ngra elektron xatni yuborish uchun ishlatiladigan sahifani yarating va uni Email_Send deb nomlang:

Email_Send.cshtml

@{ // 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> } }

WebMail obyekti ma’lumotnomasi - xususiyatlar

Xususiyatlar Tavsif
SmtpServer Elektron xatlarni yuboradigan SMTP serverning nomi
SmtpPort Server SMTP xatlarini yuborish uchun foydalanadigan port
EnableSsl Agar server SSL shifrlashdan foydalanishi kerak bo‘lsa, True
UserName Elektron xatni yuborish uchun ishlatiladigan SMTP hisobining nomi
Password SMTP hisobining paroli
From Jo‘natuvchi (from) manzilida ko‘rinadigan elektron pochta

WebMail obyekti ma’lumotnomasi - metodlar

Metod Tavsif
Send() Elektron xatni yetkazib berish uchun SMTP serverga yuboradi

Send() metodi quyidagi parametrlarga ega:

Parametr Tip Tavsif
to String Elektron xat qabul qiluvchilari (nuqtali vergul bilan ajratilgan)
subject String Mavzu qatori
body String Xabarning asosiy matni

Shuningdek, quyidagi ixtiyoriy parametrlarga ega:

Parametr Tip Tavsif
from String Jo‘natuvchining elektron pochtasi
cc String Nusxa (cc) oluvchilarning elektron pochtalari (nuqtali vergul bilan ajratilgan)
filesToAttach Kolleksiya Fayl nomlari
isBodyHtml Boolean Agar xat matni HTML formatida bo‘lsa, True
additionalHeaders Kolleksiya Qo‘shimcha sarlavhalar (headers)

Texnik ma’lumotlar

Nomi Qiymat
Sinf System.Web.Helpers.WebMail
Nomlar fazosi (namespace) System.Web.Helpers
Yig‘ma (assembly) System.Web.Helpers.dll

WebMail yordamchisini initsializatsiya qilish

WebMail yordamchisidan foydalanish uchun SMTP serverga kirish imkoniyati kerak. SMTP — elektron pochtaning "chiquvchi" qismi. Agar veb-xostingdan foydalansangiz, SMTP server nomini ehtimol allaqachon bilasiz. Agar korporativ tarmoqda ishlasangiz, nomni IT bo‘limingiz berishi mumkin. Agar uyda ishlayotgan bo‘lsangiz, oddiy elektron pochta provayderingizdan foydalana olishingiz mumkin.

Elektron xat yuborish uchun sizga quyidagilar kerak bo‘ladi:

  • SMTP server nomi
  • Port raqami (ko‘pincha 25)
  • Elektron pochta foydalanuvchi nomi
  • Elektron pochta paroli

Saytingizning ildiz papkasida _AppStart.cshtml nomli sahifa yarating (yoki mavjud sahifani tahrirlang).

Fayl ichiga quyidagi kodni joylashtiring:

_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" }

Yuqoridagi kod veb-sayt (ilova) har safar ishga tushganda bajariladi. U WebMail obyektingizga boshlang‘ich qiymatlarni beradi.

Quyidagilarni almashtiring:

smtp.example.com o‘rniga elektron xatlarni yuborish uchun ishlatiladigan SMTP server nomini yozing.

25 o‘rniga server SMTP tranzaksiyalarini (elektron xatlarni) yuborish uchun foydalanadigan port raqamini yozing.

Agar server SSL (Secure Socket Layer) shifrlashdan foydalanishi kerak bo‘lsa, false o‘rniga true yozing.

support@example.com o‘rniga elektron xatlarni yuborish uchun ishlatiladigan SMTP pochta hisobining nomini yozing.

password o‘rniga SMTP pochta hisobining parolini yozing.

john@example o‘rniga jo‘natuvchi (from) manzilida ko‘rinadigan elektron pochtani yozing.

WebMail obyektini AppStart faylida initsializatsiya qilish shart emas, lekin WebMail.Send() metodini chaqirishdan oldin bu xususiyatlarni o‘rnatishingiz kerak.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!