Bu belgede, Gmail API kullanılarak nasıl e-posta iletisi oluşturulacağı ve gönderileceği açıklanmaktadır.
Gmail API'yi kullanarak e-posta göndermenin iki yolu vardır:
messages.sendyöntemini kullanarak doğrudan gönderebilirsiniz.drafts.sendyöntemini kullanarak taslaktan gönderebilirsiniz. Taslak ileti gönderme hakkında daha fazla bilgi için Taslakları gönderme başlıklı makaleyi inceleyin.
Gmail iletileri, raw alanında base64URL kodlu dizeler olarak gönderilir.messages E-posta iletisi göndermek için:
- E-posta içeriğini oluşturun ve base64URL dizesi olarak kodlayın.
- Yeni bir mesaj kaynağı oluşturun ve
rawözelliğini, az önce oluşturduğunuz base64URL dizesi olarak ayarlayın. - İletiyi göndermek için
messages.sendyöntemini çağırın veya taslak gönderiyorsanızdrafts.sendyöntemini çağırın.
Bu iş akışının ayrıntıları, seçtiğiniz istemci kitaplığına ve programlama diline bağlı olarak değişebilir.
İleti oluşturma
Gmail API, RFC 2822 ile uyumlu ve base64URL dizeleri olarak kodlanmış MIME e-posta iletileri gerektirir. Birçok programlama dilinde, MIME iletileri oluşturma ve kodlama sürecini basitleştiren kitaplıklar veya yardımcı programlar bulunur.
Aşağıdaki kod örneklerinde, çeşitli diller için Google API istemci kitaplıklarını kullanarak MIME mesajının nasıl oluşturulacağı gösterilmektedir:
Java
javax.mail.internet paketindeki MimeMessage sınıfı, e-posta iletisi oluşturmayı kolaylaştırabilir. Aşağıdaki kod örneğinde, üstbilgiler de dahil olmak üzere e-posta iletisinin nasıl oluşturulacağı gösterilmektedir:
Ardından, MimeMessage öğesini kodlayın, messages nesnesini örnekleyin ve Base64 URL kodlu mesaj dizesini raw özelliğinin değeri olarak ayarlayın.
Python
Aşağıdaki kod örneğinde, MIME mesajının nasıl oluşturulacağı, base64URL dizesine nasıl kodlanacağı ve messages kaynağının raw alanına nasıl atanacağı gösterilmektedir:
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
Aşağıdakini değiştirin:
ACCESS_TOKEN: API'ye erişim izni veren erişim jetonu.MESSAGE: RFC 2822 biçimli MIME mesajı, base64URL olarak kodlanmış.
Ek içeren iletiler oluşturma
Ek içeren bir ileti oluşturmak, diğer iletileri oluşturmaya benzer. Ancak dosyanın çok parçalı MIME iletisi olarak yüklenme süreci programlama diline bağlıdır.
Aşağıdaki kod örneklerinde, ek içeren çok parçalı bir MIME mesajı oluşturmanın olası yolları gösterilmektedir:
Java
Aşağıdaki kod örneğinde, çok parçalı bir MIME mesajının nasıl oluşturulacağı gösterilmektedir. Kodlama ve atama adımları, create messages ile aynıdır.
Python
İleti oluşturma örneğine benzer şekilde, bu örnek de iletiyi Base64URL'ye kodlamayı ve messages kaynağının raw alanına atamayı ele alır.
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
Aşağıdakini değiştirin:
ACCESS_TOKEN: API'ye erişim izni veren erişim jetonu.MESSAGE: Base64URL olarak kodlanmış bir eki içeren, RFC 2822 biçimli MIME mesajı.
Mesaj gönderin
Bir ileti oluşturduktan sonra, aşağıdaki örneklerde gösterildiği gibi messages.send yönteminin istek gövdesinde sağlayarak gönderebilirsiniz:
Java
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/messages/send' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"raw":"MESSAGE"}'
Aşağıdakini değiştirin:
ACCESS_TOKEN: API'ye erişim izni veren erişim jetonu.MESSAGE: RFC 2822 biçimli MIME mesajı, base64URL olarak kodlanmış.
Yanıt göndermeye çalışıyorsanız ve e-postanın iletilerin gruplandırıldığı bir e-posta olarak gruplandırılmasını istiyorsanız şunlardan emin olun:
Subjectbaşlıkları eşleşiyorReferencesveIn-Reply-Toüstbilgileri, RFC 2822 standardına uygundur.