В этом сообщении будет показано как, используя
Python, отправлять email-сообщения, причём будет показано как добавить файл-вложение в письмо.
Пример 1.
Отправка письма с вложением, используется smpt.yandex.ru
Python, отправлять email-сообщения, причём будет показано как добавить файл-вложение в письмо.
Пример 1.
import smtplib from email.mime.text import MIMEText me = 'admin@mail.ru' you = 'kot_smit@mail.ru' smtp_server = 'smtp.mail.ru' msg = MIMEText('Message e-mail') msg['Subject'] = 'The contents of ' msg['From'] = me msg['To'] = you s = smtplib.SMTP(smtp_server) s.sendmail(me, [you], msg.as_string()) s.quit()
Если нужно использовать свой smtp-сервер, то в строке
s = smtplib.SMTP(smtp_server)
переменную smtp_server указывать просто не надо. таким образом строка преобретает вид - s = smtplib.SMTP()
затем нужно добавить строкуs.connect()
Пример 2.Отправка письма с вложением, используется smpt.yandex.ru
from smtplib import SMTP_SSL from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email import Encoders import os filepath = "/path/to/file" basename = os.path.basename(filepath) address = "name@server" # Compose attachment part = MIMEBase('application', "octet-stream") part.set_payload(open(filepath,"rb").read() ) Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="%s"' % basename) # Compose message msg = MIMEMultipart() msg['From'] = address msg['To'] = address msg.attach(part) # Send mail smtp = SMTP_SSL() smtp.connect('smtp.yandex.ru') smtp.login(address, 'password') smtp.sendmail(address, address, msg.as_string()) smtp.quit()