Có hai cách để gửi email bằng API Gmail:
- Bạn có thể gửi trực tiếp thông báo bằng phương thức
messages.send
. - Bạn có thể gửi email từ một thư nháp bằng cách sử dụ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 tổng quát để 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
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 công việc này có thể khác nhau tuỳ thuộc vào thư viện ứng dụng và ngôn ngữ lập trình mà bạn chọn.
Tạo thông báo
API Gmail yêu cầu 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ó thư viện hoặc tiện ích giúp đơn giản hoá quy trình tạo và mã hoá thông điệp MIME. Các ví dụ về mã sau đây minh hoạ cách tạo một thư MIME bằng cách sử dụng thư viện ứng dụng API của Google cho nhiều ngôn ngữ.
Java
Bạn có thể đơn giản hoá việc tạo thư email bằng lớp MimeMessage
trong gói javax.mail.internet
. Ví dụ sau đây cho biết cách tạo thư email, bao gồm cả tiêu đề:
Bước tiếp theo là mã hoá MimeMessage
, tạo bản sao của đố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à gán 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 một thư có tệp đính kèm cũng giống như 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ạ các 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 cũng 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à gán 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 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 đó nằm trong chuỗi thư, hãy đảm bảo rằng:
- Các tiêu đề
Subject
khớp với nhau - 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.