Cách gửi thư từ Excel VBA không cần Outlook

Qua các bài viết trên Blog Học Excel Online, Thanh đã giới thiệu tới các bạn các ứng dụng phong phú của VBA (VBA là gì, làm thế nào để bắt đầu?) trong bộ Office, đặc biệt là Excel. Trong bài viết lần này, mình muốn giới thiệu tới các bạn cách gửi email từ Excel dành cho các máy không có Outlook qua các bước đơn giản sau đây

Thiết lập  code VBA để gửi Email

Bước 1: Để thiết lập gửi Email trong Excel VBA không cần Outlook, bạn cần sử dụng đoạn code sau đây, hãy copy đoạn code này vào một Module trong Visual Basic Editor (xem Cách bắt đầu với Excel VBA và Macro để biết cách copy)

Bước 2: Sau khi copy đoạn Code này, bạn cần thiết lập địa chỉ Gmail gửi đi và mật khẩu Gmail của bạn (dòng 41 & 42) ở đoạn Code VBA phía dưới.

 Cảnh báo: vì mật khẩu Gmail của các bạn sẽ được lưu dưới dạng “plain text”, là dạng nhìn thấy được bằng mắt thường, vì vậy bạn hãy thật chú ý khi sử dụng file Excel này, không chia sẻ file Excel bao gồm mật khẩu Gmail của bạn với bất cứ ai, đề phòng trường hợp xảy ra những rủi ro với tài khoản của bạn.

Bước 3: Điều chỉnh lại thiết lập về lesssecureapps trong tài khoản Google của bạn bằng cách truy cập vào đường dẫn: https://myaccount.google.com/lesssecureapps

Thiết lập Less Secure Apps trong Google
Thiết lập Less Secure Apps trong Google

Sau đó điều chỉnh thiết lập “Allow less secure apps: ON”

Bước 4: Viết code để chính thức gửi thư đi: để thực hiện đoạn code này, Thanh mời các bạn theo dõi video sau đây để có thể nắm được từng bước thực hiện chi tiết:

Chú ý: Các thiết lập gửi Email với HTML Body, sử dụng template Email mẫu, xử lý dữ liệu và tạo công cụ gửi Email cùng nhiều thiết lập khác là một phần của khoá học VBA nâng cao của Thanh, mời các bạn click để đăng ký

Một số lưu ý khi sử dụng

Bảo quản mật khẩu địa, chỉ email

Khi sử dụng đoạn code để gửi mail trong bài này, mật khẩu email của bạn có thể dễ dàng bị truy cập nếu bạn gửi file này cho một người khác. Như vậy, khi sử dụng file này, bạn phải rất cẩn thận không gửi nhầm cho người khác khi chưa xoá thông tin tài khoản email ra khỏi đoạn code. Theo kinh nghiệm của Thanh, một cách an toàn hơn để xử lý trường hợp này là, bạn hãy lưu tài khoản email và mật khẩu ở một Workbook khác, có khoá mật khẩu Sheet; workbook này chỉ lưu trên máy của bạn và khi thực hiện gửi email, bạn sẽ lập trình cho Excel mở file chứa tài khoản email và mật khẩu để lấy ra những thông tin cần thiết.

Quotas (hạn mức) gửi email miễn phí từ tài khoản Gmail

Bạn sử dụng tài khoản Gmail miễn phí (cảm ơn Google!), số lượng Email bạn được phép gửi ra một ngày từ tài khoản này mình nghĩ cũng đủ cho phần lớn nhu cầu của chúng ta, hãy tôn trọng điều này khi chúng ta sử dụng resources miễn phí. Đối với đoạn Code trong Email này, bạn có thể gửi tối đa 100 Emails trong khung cửa sổ thời gian 24 giờ (Rolling 24 hours theo Google). Nếu bạn đang sử dụng GSuite Business, thì hạn mức này có thể lên tới 1500 Emails / ngày tuỳ vào gói cước bạn đăng ký với Google.

Gửi mail từ nhà cung cấp khác Gmail?

Trong ví dụ hướng dẫn, chúng ta sử dụng thiết lập của Gmail từ Google. Vậy nếu chúng ta sử dụng một số nhà cung cấp Email khác như Hotmail hay Yahoo Mail thì có được không? Câu trả lời ở đây là có, nhưng thiết lập sẽ khác một chút:

Microsoft Outlook Web/Hotmail:

Outlook/Hotmail/Windows Live Outgoing Mail (SMTP) Server: smtp.live.com
Use Authentication: Yes
SSL Required: No
Port: 587

Yahoo Mail:

Yahoo! Mail Outgoing Mail (SMTP) Server: smtp.mail.yahoo.com
Use Authentication: Yes
SSL Required: Yes
Port: 465

AOL Mail:

AOL Outgoing Mail (SMTP) Server: smtp.aol.com
Use Authentication: Yes
SSL Required: No
Port: 587

GMX Mail:

GMX Outgoing Mail (SMTP) Server: mail.gmx.com
Use Authentication: Yes
Encryption: TLS
Port: 587

Đoạn code gửi email sử dụng trong video


Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản