在 python 3.8 中使用 smtp 服务器发送电子邮件的问题
Issues with sending emails using an smtp server in python 3.8
我正在尝试创建垃圾邮件发送者。我知道这是不受欢迎的,但我 运行 遇到了我似乎无法解决的问题。我似乎无法弄清楚如何:
- 定义一个包含列表 电子邮件的变量,并将每个电子邮件添加到收件人列表。
- 从 google smtp 服务器发送电子邮件到之前定义的电子邮件列表。
import smtplib
from email import message
sent = int(0)
while (True):
sent = sent + 1
from_addr = 'email@gmail.com' # Must be a gmail adress as the gmail smtp server is used
to_addr = ['email@email.com', 'email2@email.com']
subject = 'test!'
body = 'test!'
msg = message.Message()
msg.add_header('from', from_addr)
for n in len(to_addr):
msg.add_header('To') = ', '.join(to_addr[n]) # Add all entries from to_addr as recipients
msg.add_header('subject', subject)
msg.set_payload(body)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.login(from_addr, 'insertyourpasswordhere') # This will also generate an error!
server.send_message(msg, from_addr=from_addr, to_addrs=[to_addr])
server.quit()
我不希望程序一次向列表中的一个用户发送电子邮件,我希望程序将他们全部添加为收件人,然后将电子邮件发送给所有人。
要使此代码有机会运行,您需要在您的 Gmail 帐户上启用不太安全的应用程序
要使用gmail的服务器发送邮件,您必须执行以下步骤:
- 打开安全性较低的应用程序
- 您将在您的 gmail 收件箱中收到安全邮件,单击“是”,里面就是我。
- 现在再次 运行 您的代码。
注意:在执行代码之前需要启动 TLS 以确保安全。
import smtplib
from email.message import EmailMessage
sent = int(0)
while (True):
sent = sent + 1
from_addr = 'gmail@gmail.com'
to_addr = ['gmail1@gmail.com', 'gmail2@email.com']
subject = 'test!'
body = 'test!'
msg = EmailMessage()
msg.add_header('from', from_addr)
msg.add_header('To',', '.join(to_addr))
msg.add_header('subject', subject)
msg.set_payload(body)
# creates SMTP session
server = smtplib.SMTP('smtp.gmail.com', 587)
# start TLS for security
server.starttls()
# Authentication
server.login(from_addr, 'insertyourpasswordhere')
# sending the mail
server.send_message(msg, from_addr=from_addr, to_addrs=', '.join(to_addr))
# terminating the session
server.quit()
您只需更改电子邮件和密码,以上脚本将运行成功!
我正在尝试创建垃圾邮件发送者。我知道这是不受欢迎的,但我 运行 遇到了我似乎无法解决的问题。我似乎无法弄清楚如何:
- 定义一个包含列表 电子邮件的变量,并将每个电子邮件添加到收件人列表。
- 从 google smtp 服务器发送电子邮件到之前定义的电子邮件列表。
import smtplib
from email import message
sent = int(0)
while (True):
sent = sent + 1
from_addr = 'email@gmail.com' # Must be a gmail adress as the gmail smtp server is used
to_addr = ['email@email.com', 'email2@email.com']
subject = 'test!'
body = 'test!'
msg = message.Message()
msg.add_header('from', from_addr)
for n in len(to_addr):
msg.add_header('To') = ', '.join(to_addr[n]) # Add all entries from to_addr as recipients
msg.add_header('subject', subject)
msg.set_payload(body)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.login(from_addr, 'insertyourpasswordhere') # This will also generate an error!
server.send_message(msg, from_addr=from_addr, to_addrs=[to_addr])
server.quit()
我不希望程序一次向列表中的一个用户发送电子邮件,我希望程序将他们全部添加为收件人,然后将电子邮件发送给所有人。
要使此代码有机会运行,您需要在您的 Gmail 帐户上启用不太安全的应用程序
要使用gmail的服务器发送邮件,您必须执行以下步骤:
- 打开安全性较低的应用程序
- 您将在您的 gmail 收件箱中收到安全邮件,单击“是”,里面就是我。
- 现在再次 运行 您的代码。
注意:在执行代码之前需要启动 TLS 以确保安全。
import smtplib
from email.message import EmailMessage
sent = int(0)
while (True):
sent = sent + 1
from_addr = 'gmail@gmail.com'
to_addr = ['gmail1@gmail.com', 'gmail2@email.com']
subject = 'test!'
body = 'test!'
msg = EmailMessage()
msg.add_header('from', from_addr)
msg.add_header('To',', '.join(to_addr))
msg.add_header('subject', subject)
msg.set_payload(body)
# creates SMTP session
server = smtplib.SMTP('smtp.gmail.com', 587)
# start TLS for security
server.starttls()
# Authentication
server.login(from_addr, 'insertyourpasswordhere')
# sending the mail
server.send_message(msg, from_addr=from_addr, to_addrs=', '.join(to_addr))
# terminating the session
server.quit()
您只需更改电子邮件和密码,以上脚本将运行成功!