Có hai cách để gửi email bằng API Gmail:
- Bạn có thể gửi trực tiếp bằng phương thức
messages.send
. - Bạn có thể gửi email từ bản nháp bằng phương thức
drafts.send
.
Email được gửi dưới dạng chuỗi được mã hoá base64url trong thuộc tính raw
của một tài nguyên thông báo. Quy trình cấp cao để gửi email là:
- Tạo nội dung email theo cách thuận tiện và mã hoá nội dung đó dưới dạng chuỗi base64url.
- Tạo một tài nguyên thông báo mới và đặt thuộc tính
raw
của tài nguyên đó thành chuỗi base64url mà bạn vừa tạo. - Gọi
messages.send
hoặcdrafts.send
(nếu gửi bản nháp) để gửi tin nhắn.
Thông tin chi tiết về quy trình này có thể thay đổi tuỳ thuộc vào lựa chọn thư viện ứng dụng và ngôn ngữ lập trình của bạn.
Tạo thông báo
Gmail API yêu cầu các thư email MIME tuân thủ RFC 2822 và được mã hoá dưới dạng chuỗi base64url. Nhiều ngôn ngữ lập trình có các thư viện hoặc tiện ích giúp đơn giản hoá quy trình tạo và mã hoá thông báo MIME. Các ví dụ về mã sau đây minh hoạ cách tạo một thông báo MIME bằng thư viện ứng dụng Google API cho nhiều ngôn ngữ.
Java
Bạn có thể đơn giản hoá đáng kể việc tạo thư email bằng lớp MimeMessage
trong gói javax.mail.internet
. Ví dụ sau đây cho thấy cách tạo thư điện tử, bao gồm cả tiêu đề:
Bước tiếp theo là mã hoá MimeMessage
, khởi tạo một đối tượng Message
và đặt chuỗi thông báo được mã hoá base64url làm giá trị của thuộc tính raw
.
Python
Mã mẫu sau đây minh hoạ cách tạo một thông báo MIME, mã hoá thành một chuỗi base64url và chỉ định chuỗi đó cho trường raw
của tài nguyên Message
:
Tạo thư có tệp đính kèm
Việc tạo thư có tệp đính kèm cũng giống như việc tạo bất kỳ thư nào khác, nhưng quy trình tải tệp lên dưới dạng thư MIME nhiều phần phụ thuộc vào ngôn ngữ lập trình. Các ví dụ về mã sau đây minh hoạ những cách có thể để tạo một thông báo MIME nhiều phần có tệp đính kèm.
Java
Ví dụ sau đây cho thấy cách tạo một thông báo MIME nhiều phần, các bước mã hoá và chỉ định giống như trên.
Python
Tương tự như ví dụ trước, ví dụ này cũng xử lý việc mã hoá thông báo thành base64url và chỉ định thông báo đó cho trường raw
của tài nguyên Message
.
Gửi tin nhắn
Sau khi tạo một thông báo, bạn có thể gửi thông báo đó bằng cách cung cấp thông báo trong phần nội dung yêu cầu của một lệnh gọi đến messages.send
, như minh hoạ trong các ví dụ sau.
Java
Python
Nếu bạn đang cố gắng gửi thư trả lời và muốn email đó được đưa vào chuỗi email, hãy đảm bảo rằng:
- Tiêu đề
Subject
trùng khớp - Tiêu đề
References
vàIn-Reply-To
tuân theo tiêu chuẩn RFC 2822.
Để biết thông tin về cách gửi thư từ bản nháp, hãy xem phần Tạo bản nháp.