- 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
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>
Đồ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
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
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