
Автоматические электронные письма широко используются для отправки уведомлений или других сообщений подписчикам. Кроме того, различные электронные письма запускаются в зависимости от действий или поведения пользователей. Чтобы реализовать автоматизацию электронной почты, в этой статье рассказывается, как создавать и отправлять электронные письма с использованием SMTP в Python.
- Библиотека Python для отправки электронных писем
- Создание и отправка электронных писем в Python
- Отправляйте электронные письма с телом HTML
- Отправляйте массовые электронные письма
- Переслать сообщение электронной почты
Библиотека Python для создания и отправки электронных писем через SMTP
Чтобы создавать и отправлять электронные письма с использованием SMTP, мы будем использовать Aspose.Email для Python через .NET. Это мощная библиотека Python, позволяющая создавать многофункциональные почтовые клиенты. Вы можете установить API из PyPI с помощью следующей команды.
pip install Aspose.Email-for-Python-via-NET
Или вы можете выполнить следующие шаги для ручной установки.
- Загрузите установочный файл .whl из раздела загрузки.
- В командной строке используйте команду: pip install «FileName> >.whl для установки API.
- Загрузите полный пакет примеров исходного кода с GitHub.
Создание и отправка электронных писем через SMTP в Python
Ниже приведены шаги для создания и отправки электронной почты через SMTP в Python.
- Создайте объект класса MailMessage.
- Установите тему, текст, адреса отправителя и получателя.
- Установите Cc или Bcc (необязательно).
- Создайте новый SMTP-клиент с помощью класса SmtpClient и задайте хост, порт, имя пользователя и пароль.
- Установите параметры безопасности.
- Отправка электронной почты с помощью метода SmtpClient.send(MailMessage).
В следующем примере кода показано, как создавать и отправлять электронные письма в Python.
# Create email message
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send email
client.send(eml)
Отправка электронных писем с телом HTML в Python
Ниже приведены шаги для отправки электронных писем с телом HTML.
- Создайте объект класса MailMessage.
- Задайте тело письма, используя свойство MailMessage.body\html.
- Установите для свойства MailMessage.is\body\html значение true.
- Назначьте тему, адреса отправителя и получателя.
- Установите Cc или Bcc (необязательно).
- Создайте новый SMTP-клиент с помощью класса SmtpClient и задайте хост, порт, имя пользователя и пароль.
- Отправка электронной почты с помощью метода SmtpClient.send(MailMessage).
В следующем примере кода показано, как отправлять электронные письма с телом HTML в Python.
# Create email message with HTML body
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send email
client.send(eml)
Отправка массовых электронных писем с использованием SMTP в Python
Ниже приведены шаги для отправки массовых электронных писем в Python.
- Создайте несколько сообщений электронной почты с помощью класса MailMessage и задайте их свойства, такие как тема, получатели и т. д.
- Создайте объект класса MailMessageCollection.
- Добавьте сообщения электронной почты в коллекцию с помощью метода MailMessageCollection.append(MailMessage).
- Создайте новый SMTP-клиент с помощью класса SmtpClient и задайте хост, порт, имя пользователя и пароль.
- Отправка электронной почты с помощью метода SmtpClient.send(MailMessageCollection).
В следующем примере кода показано, как отправлять массовые электронные письма в Python.
# Create multiple email messages
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")
# Add messages to collection
manyMsg = MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send emails
client.send(manyMsg)
Переслать сообщение электронной почты в Python
Ниже приведены шаги для пересылки сообщения электронной почты в Python.
- Загрузите сообщение электронной почты в объект с помощью метода MailMessage.load(String fileName).
- Установите адрес получателя.
- Создайте SMTP-клиент с помощью класса SmtpClient.
- Переслать сообщение с помощью метода SmtpClient.forward().
В следующем примере кода показано, как переслать сообщение электронной почты в Python.
# Load email message to be forwarded
eml = MailMessage.load("Message.eml")
# Set recipient
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)
Получите бесплатную лицензию API
Вы можете запросить Бесплатную временную лицензию, чтобы использовать API без ограничений на пробную версию.
Живая демонстрация
Вывод
В этой статье вы узнали, как создавать и отправлять электронные письма через SMTP в Python. Кроме того, вы видели, как программно отправлять массовые электронные письма с обычным текстом или телом HTML. Вы можете узнать больше об API электронной почты Python, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, сообщите нам об этом через наш форум.