2016-01-10 3 views
3

Я написал сценарий для резервного копирования моей базы данных Neo4J.python отправка электронной почты с текстом и вложением

В конце процесса резервного копирования и электронной почты отправляется на DB Administrator

электронной почты, полученной без message_body.

Это код:

message = MIMEMultipart('alternative') 
message['To'] = "Database Admin <%s>" % _receiver 
message['From'] = "Pico.buzz Graph Database <%s>" % _sender 
if not log.is_error(): 
    message['Subject'] = "Graph DB Backup Finished Successfully" 
    message_body = 'Successfully backup email. Please see review log file' 
else: 
    message['Subject'] = "ATTENTION: ERROR! Graph DB Backup Failed" 
    message_body = 'An error occur during backup. please review log' 
instance_name = aws.get_instance_name() 
instance_details = "Instance Id: %s\nPrivate IP Address: %s" % (aws.get_instance_id(), aws.get_instance_ip()) 
if instance_name is not None: 
    instance_details = """Instance Name: %s\n%s""" % (instance_name, instance_details) 
message_body = "%s\n\n%s" % (message_body, instance_details) 
content = MIMEText(message_body, 'plain') 
message.attach(content) 
message.attach(_get_log_file()) 
smtp = smtplib.SMTP('localhost') 
smtp.sendmail(_sender, _receiver, message.as_string()) 
log.info(__name__, "Successfully sent email to: %s" % _receiver) 

Любая идея, почему?

+0

Вы подтвердили, что 'message_body' - это то, что вы ожидаете перед своим' sendmail', который я предполагаю? – erip

+0

Я напечатал его и был счастлив .. :) –

+0

Несвязанный, но форматирование '% s' обычно исключается. Вы должны посмотреть [это] (https://docs.python.org/3/library/functions.html#format). – erip

ответ

0

MIMEMultipart принимает в качестве параметра конструктор мультипартийный подтип.

Вы используете подтип 'alternative'. Альтернативный подтип позволяет отправлять электронную почту с помощью HTML и текста.

Вы хотите отправить электронное письмо с текстом и вложением, поэтому вам необходимо построить MIMEMultipart с подтипом 'mixed'.

Для получения дополнительной информации об этих подтипах вы можете посмотреть запись MIME Wikipedia по адресу Multipart messages.

Смежные вопросы