(ASP.NET Core) Gửi Mail trong ứng dụng Web Asp.net

  • gửi mail trong .net c#
  • gửi mail to localhost smtp
  • gửi mail dùng google smtp server (gmail)
  • dùng mailkit gửi mail trong asp.net với gmail

gửi mail trong .net core

thư viện .net cung cấp lớp smtpclient cho phép bạn gửi email thông qua giao thức smtp, chức năng của smtpclient là chuyển mail chỺ người .nh

khi đãc ối tượng smtpclient thì thực hiện chuyển email bằng cach biên tập nội dung email với ối tượng lớp mailmessage sau đó gọi phương thức path

ví dụ phương thức tính sau để gửi email từ đối tượng smtpclient đã có

lớp tĩnh trên cung cấp phương thức để bạn gửi mail khi đã có smtpclient, gọi bằng cách:

video:

chú ý lời gọi sendmail trên là bất đồng bộ, nếu code gọi đồng bộ thì: mailutils.sendmail(..).wait();

gửi mail với smtp server localhost

ví dụ, xây dựng phương thức tĩnh sendmaillocalsmtp như sau:

ví dụ thực hiện gửi mail:

nếu gọi đồng bộ thì:

gửi mail bằng cách sử dụng gmail

gmail có địa chỉ server smtp tại: smtp.gmail.com bạn có thể tạo ra smtpclient kết nối đến server này để gửi mail, thông tin để kết nốg cp

  • smtp server: smtp.gmail.com
  • cổng kết nối: 587
  • ssl: phải kích hoạt
  • xác thực: phải xác thực kết nối bằng cách cung cấp tài khoản (địa chỉ email google) via password
See Also:  Can I Open My Childs Mail? - leicestershirevillages.com

thực hiện tạo smtpclient như sau:

từ đây xây dựng thêm phương thức sendmailgooglesmtp như sau:

như vậy để gửi mail sử dụng gmail bạn chỉ việc thực hiện:

hoặc gọi đồng bộ

lƯu Ý quan trỌng

Để gmail cho phép smtpclient kết nối đến smtp server của nó với xác thực là tài khoản gmail của bạn, bạn cần thiết lập tài khoản email: cả

vào địa chỉ https://myaccount.google.com/security

Ở menu trái chọn mục bảo mật, sau đó tại mục quyền truy cập của ứng dụng kém an toàn phải ở chế độ b>gmail

Đồng thời tài khoản Gmail cũng cần bật IMAP

truy cập địa chỉ https://mail.google.com/mail/#settings/fwdandpop

gmail

Mã nguồn App Console gửi Mail: CS030_SendMail

dùng mailkit gửi mail trong asp.net với gmail

smtpclient mặc dù vẫn được dùng nhưng .net đánh dấu nó lỗi thời về khuyên dùng mailkit (https://github.com/jstedfast/mimekit). Để tích hợp thư viện mailkit bạn thực hiện các lệnh:

sau đây hướng dẫn để dùng mailkit gửi mail có sử dụng smtp server từ gmail.

ta sẽ lưu thông tin cấu hình email tại config của ứng dụng:

lưu cấu hình email dưới khóa email settings của appsettings.json file, nội dung như sau:

các cấu hình này có thể ánh xạ vào thuộc tính của một lớp, hãy áp dụng bài cấu hình ứng dụng asp.net

See Also:  Gmail: Sending Email

xây dựng một lớp là mailsettings có các thuộc tính giống config như sau:

sau đó đăng ký vào dịch vụ hệ thống (xem đăng ký options vào dịch vụ) để lớp nào cần dùng mailsettings có thể inject nó vào. mở startup.cs file cập nhật:

tạo dịch vụ gửi mail và đăng ký dịch vụ vào hệ thống

lớp mailcontent để mô tả thông tin email sẽ gửi

xây dựng giao diện isendmailservice để triển khai dịch vụ

triển khai isendmailservice thành lớp sendmailservice với nội dung như sau

Đăng ký sendmailservice vào dịch vụ của hệ thống, trong configureservices của startup.cs thêm vào

từ đây bạn có thể inject isendmailservice vào các controller hay các pagemodel …, khi đã có isendmailservice chỉ việc gọi isendmailservice.sendmail để gửi

gửi thử email

trong ứng dụng asp.net core đơn giản, có thể thực hiện đoạn mã kiểm tra khi truy cập url /testmail

more nguồn asp_net_core/07.sendmail

Leave a Reply

Your email address will not be published. Required fields are marked *