Простой код, отправляет письма по заданным параметрам, в данном виде отправляет их по очереди, а надо одновременно. Как сделать так, чтобы все подготовленные письма уходили в одно и тоже время? Пробовал делать несколько копий кода и запускать процесс - не вышло. Я совсем никакой в питоне - код заказывал.
import smtplib, ssl
from email.mime.text import MIMEText
from email.header import Header
from datetime import datetime
mails= [['4433@gmail.com','Номер 1','ссылка - '],
['5542@gmail.com','Номер 2','ссылка - ']]
mo=4 # мес
d=18 # день
h=22 # час
mi=52 # минута
ms=600000 # милисек
sender_email='5549ог@mail.ru' # ваш емеил
password='aafkofdk' # пароль
while datetime.now()<datetime(2019, mo,d,h , mi, 30,0 ):
print(datetime.now())
sent={}
n=1
for i in mails:
tto=i[0]
message = i[2]
title=i[1]
smttt=sender_email.split('@')[1].split('.')[0]
smtp_server = 'smtp.'+smttt+'.ru'
port = 587
msg = MIMEText(message, 'plain', 'utf-8')
msg['Subject'] = Header(title, 'utf-8')
msg['From'] = sender_email
msg['To'] = tto
context = ssl.create_default_context()
server = smtplib.SMTP(smtp_server,port)
server.ehlo()
server.starttls(context=context)
server.ehlo()
server.login(sender_email, password)
sent[n]={'serv':server,'msg':msg,'tto': tto}
n+=1
while datetime.now()<datetime(2019, mo,d,h , mi, 59,ms): ###
print(datetime.now())
for k,v in sent.items():
print(k)
print(datetime.now())
v['serv'].sendmail(sender_email, v['tto'], v['msg'].as_string())
print(datetime.now())
print(k)