私の電子メール プログラムは、メッセージの各行を個別の電子メールとして電子メールで送信しています。すべてのメッセージを 1 つの電子メールで送信する方法を知りたいです。電子メールが送信されると、プログラムは最初に戻ります。
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の助けを借りて作成されました)