0

我的电子邮件程序将消息的每一行作为单独的电子邮件发送,我想知道如何在一封电子邮件中发送所有消息,发送电子邮件后程序将返回开头。

import smtplib
from email.mime.text import MIMEText

a = 1
while a == 1:
    print " "
    To = raw_input("To: ")
    subject = raw_input("subject: ")
    input_list = []
    print "message: "
    while True:
        input_str = raw_input(">")
        if input_str == "." and input_list[-1] == "":
            break
        else:
            input_list.append(input_str)

    for line in input_list:

        # Create a MIME text message and populate its values
        msg = MIMEText(line)
        msg['Subject'] = subject
        msg['From'] = '123@example.com'
        msg['To'] = To

        server = smtplib.SMTP_SSL('server', 465)
        server.ehlo()
        server.set_debuglevel(1)
        server.ehlo()
        server.login('username', 'password')

        # Send a properly formatted MIME message, rather than a raw string
        server.sendmail('user@example.net', To, msg.as_string())
        server.close()

(需要多行的部分是在 Paul Griffiths, Multiline user input python的帮助下制作的)

4

1 回答 1

3
for line in input_list:

        # Create a MIME text message and populate its values
        msg = MIMEText(line)

server.sendmail在这个循环中调用。

首先构建您的整个味精(循环),然后添加所有标题并发送您的消息。

于 2013-06-12T01:28:05.233 回答