#python #python-3.x #smtp #&mail #smtplib
#python #python-3.x #smtp #&mail #smtplib
Вопрос:
Как следует из названия, мой вопрос таков: быстрее ли инициализировать smtp один раз и отправлять много электронных писем, используя этот один экземпляр, или лучше инициализировать его каждый раз, когда вы его используете? или это совершенно не имеет значения? Я использую python.
Например. Быстрее ли это сделать
def email():
import smtplib
sender_email_id = 'email here'
sender_email_id_password = 'password here'
messa&e = "messa&e here"
s = smtplib.SMTP('smtp.&mail.com', 587)
s.starttls()
s.lo&in("sender_email_id", "sender_email_id_password")
s.sendmail("sender_email_id", "receiver_email_id", messa&e)
s.quit()
for i in ran&e(10):
email()
или сделать это?
import smtplib
sender_email_id = 'email here'
sender_email_id_password = 'password here'
s = smtplib.SMTP('smtp.&mail.com', 587)
s.starttls()
s.lo&in("sender_email_id", "sender_email_id_password")
def email(messa&e):
s.sendmail(sender_email_id, "to_someone@email.com", messa&e)
for i in ran&e(10):
email(messa&e)
s.quit()
Комментарии:
1. По крайней мере, вы должны ограничить количество сообщений, отправляемых через одно SMTP-соединение (например, 50). Многие SMTP-серверы накладывают на него ограничения в качестве защиты от спама / несанкционированного доступа.
Ответ №1:
Исходя из других фреймворков и обычной практики, я думаю, вам следует зарегистрировать свою конфигурацию SMTP один раз в отдельном файле конфигурации и повторно использовать эту информацию для выполнения отправки почты много раз.
Пожалуйста, обратите внимание, что открытие и закрытие SMTP-соединения каждый раз, когда вы отправляете электронное письмо, будет потреблять больше ресурсов и времени из-за открытия и закрытия передачи (ввода-вывода) между вашей системой и SMTP-сервером.
Итак, инициализация один раз и повторное использование объекта должно быть быстрее и эффективнее.