Программная отправка электронных писем — важная функция для многих приложений: от простых уведомлений до сложных кампаний по электронной почте. Mailgun API предоставляет мощный и удобный способ интеграции возможностей отправки электронной почты в ваше приложение. В этой статье мы рассмотрим различные методы, предоставляемые API Mailgun, и продемонстрируем, как их использовать, с разговорными объяснениями и примерами кода.
- Использование интеграции SMTP:
Mailgun предлагает интеграцию SMTP, которая позволяет отправлять электронные письма с использованием стандартного протокола SMTP. Чтобы использовать этот метод, вам необходимо настроить свой почтовый клиент или приложение для использования SMTP-сервера Mailgun. Вот пример использования Python:
import smtplib
from email.mime.text import MIMEText
def send_email_smtp(sender, recipient, subject, body):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = recipient
with smtplib.SMTP('smtp.mailgun.org', 587) as server:
server.login('your-mailgun-username', 'your-mailgun-password')
server.send_message(msg)
- Использование API Mailgun через HTTP:
Другой популярный метод — прямое взаимодействие с API Mailgun с помощью HTTP-запросов. Такой подход обеспечивает большую гибкость и контроль над процессом отправки электронной почты. Вот пример использования cURL:
curl --request POST \
--url https://api.mailgun.net/v3/your-domain.com/messages \
--user 'api:your-mailgun-api-key' \
--form from='sender@example.com' \
--form to='recipient@example.com' \
--form subject='Hello' \
--form text='This is the content of the email.'
- Добавление вложений:
Mailgun API позволяет прикреплять файлы к электронным письмам. Вы можете включать изображения, документы или файлы любого другого типа. Вот пример использования Python:
import requests
def send_email_with_attachment(api_key, sender, recipient, subject, body, attachment_path):
files = [('attachment', open(attachment_path, 'rb'))]
data = {
'from': sender,
'to': recipient,
'subject': subject,
'text': body
}
response = requests.post(
'https://api.mailgun.net/v3/your-domain.com/messages',
auth=('api', api_key),
files=files,
data=data
)
return response.json()
- Отслеживание доставки электронной почты:
Mailgun API предоставляет подробную информацию о статусе доставки каждого электронного письма. Вы можете отслеживать, было ли электронное письмо успешно доставлено, открыто или возвращено. Вот пример использования Python:
import requests
def check_email_delivery_status(api_key, message_id):
response = requests.get(
f'https://api.mailgun.net/v3/your-domain.com/events/{message_id}',
auth=('api', api_key)
)
return response.json()
В этой статье мы рассмотрели несколько способов отправки электронных писем с помощью API Mailgun. Мы рассмотрели отправку электронных писем через интеграцию SMTP, использование API Mailgun через HTTP, прикрепление файлов к электронным письмам и отслеживание статуса доставки электронной почты. С помощью примеров кода и разговорных объяснений вы теперь должны иметь четкое представление о том, как использовать возможности API Mailgun в своих приложениях.