- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试用 python 发送电子邮件。这是我的代码。
import smtplib
if __name__ == '__main__':
SERVER = "localhost"
FROM = "sender@example.com"
TO = ["wmh1993@gmail.com"] # must be a list
SUBJECT = "Hello!"
TEXT = "This message was sent with Python's smtplib."
# Prepare actual message
message = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
# Send the mail
server = smtplib.SMTP(SERVER)
server.sendmail(FROM, TO[0], message)
server.quit()
print "Message sent!"
这运行没有错误,但没有电子邮件发送到 wmh1993@gmail.com
。
问题
有一件事我不明白这段代码——设置FROM
字段时我有什么限制?
我是否必须以某种方式说它来 self 的计算机?
有什么措施可以防止我欺骗他人的电子邮件?
或者我可以自由地这样做吗?
最佳答案
This runs without error, but no email is sent to wmh1993@gmail.com.
这通常意味着,邮件已传输到“localhost”上的 MTA(邮件服务器),但该服务器无法将其转发到 gmail。它可能试图向“sender@example.com”发送退回邮件,但也失败了。或者它成功发送了邮件,但它落入了 gmail 的垃圾邮件文件夹(该邮件可能会触发垃圾邮件规则,因为它缺少日期标题)
One thing I don't understand about this code --- what restrictions do I have when setting the FROM field?
它必须是语法上有效的电子邮件地址
Do I somehow have to say that it was from my computer?
没有。但这可能是它未交付的问题。您的计算机是在家庭/动态/拨号 IP 上吗? gmail(以及许多其他提供商)不接受来自此类 IP 的邮件。您的邮件服务器的 HELO 可能有误,DNS 设置可能不正确等。您需要检查服务器日志。您可能必须将本地邮件服务器配置为通过智能主机中继邮件,而不是尝试直接联系目标服务器。
What is in place to prevent me from spoofing someone else's email?
不多,这就是为什么我们有这么多来自伪造地址的垃圾邮件。 SPF/DKIM 之类的东西可以提供一些帮助,但 SMTP 协议(protocol)本身不提供防止欺骗的保护。
Or am I at liberty to do that?
技术上是的。
关于python - 使用 python smtplib 发送电子邮件不起作用,对 "from"字段感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440446/
我正在使用 smtplib 的非常基本(几乎完全是 from the docs )的用法。从 Bottle FormsDict 检索主题和消息使用 request.forms.get(),然后使用此代
最近我正在研究用于 python 的 smtplib smtp 客户端库,但我找不到任何对支持它的 smtp 服务器的 PIPELINING 协议(protocol)的引用。有什么我想念的吗?可能还没
我正在使用 smtplib 相当频繁地发送邮件。我使用自己的 SMTP 服务器作为中继。问题是每次发出连接时 smtplib.SMTP(...) 整个过程都会被阻塞。我是 python(v3) 的新手
我最近写了一个脚本,如果我想监控的网站使用 smtplib 发生了变化,它会向我发送一封电子邮件。该程序有效,我收到了电子邮件,但是当我查看已发送的电子邮件时(因为我正在从同一帐户向自己发送电子邮件)
我编写了一个守护进程来监视目录中的文件,并在任何文件发生更改时发送电子邮件。我使用 bb-freeze 将其编译为 Windows .exe。我注意到让它运行几天后,它占用的内存空间越来越多。 我用了
我正在试验电子邮件 python 脚本,想知道在编写基于 python 的电子邮件脚本时,与登录网页时通过 Internet 发送凭据相比,它是否更不安全?在下面的脚本中,user 和 pass 是否
我想通过代理发送电子邮件。 我目前的实现如下: 我通过身份验证连接到 smtp 服务器。成功登录后,我会发送一封电子邮件。它工作正常,但当我查看电子邮件标题时,我可以看到我的主机名。我想改为通过代理隧
我想使用 smtplib 使用 cron 作业每天发送一次状态邮件。 邮件发送效果很好,但是发送时间和日期似乎总是我阅读邮件时的时间和日期,而不是发送邮件时的时间和日期。这可能是 6 小时后。 我还没
我无法弄清楚为什么我的 python 代码无法在同一封电子邮件中附加 HTML 表格(第 2 部分)和普通句子(第 1 部分)。我尝试注释一行 message.attach(part2) ,反之亦然。
因之前不清楚而进行了编辑。 如果我在不处于 while 循环的情况下运行下面的代码,它会完美运行。一旦我将其放入 while 循环中(我需要将其作为较大脚本的一部分),它就会由于某种原因丢失邮件的主题
每当我尝试在 Python 解释器中导入 smtplib 时,都会收到此错误: ImportError: cannot import name fix_eols 我该如何解决这个问题? 编辑:这是完整
出于某种原因,当我尝试发送电子邮件时,当我传递字符串 msg 时,没有出现消息 这是我使用的代码: import smtplib server = smtplib.SMTP('smtp.gmail.c
我有一个激活邮件发送脚本如下。 #!/usr/bin/python __author__ = 'Amyth Arora (***@gmail.com)' import smtplib import s
我有一个通过邮件服务器发送电子邮件的脚本。该脚本仅在我首先在交互式窗口中调用 import smtplib 时才有效。否则,我会收到以下错误: ImportError: No module named
我想从 python 脚本发送电子邮件。但是,当我尝试运行 server.login 时,我收到以下错误:smtplib.SMTPAuthenticationError: (535, '5.7.0 (
因此,在 Python 解释器中,我这样做(并且只这样做): >>> import smtplib >>> s=smtplib.SMTP("localhost") 这就是我得到的: Traceback
我试图构建一个可以通过 Gmail 发送电子邮件的 python 脚本。 当我尝试连接到 Gmail 服务器时,出现错误 Errno 10013。 这就是我想要做的: gmail_message =
我有以下工作代码可以从 GMail 帐户发送邮件: mailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT) mailServer.ehlo() mailSe
html = html_table + html_table1 import smtplib from email.mime.multipart import MIMEMultipart from e
我正在尝试将带有缩进格式的词典列表发送到我的电子邮件。目前,这是我根据我的代码收到的电子邮件: [{ 'post_id': '3524', 'text': '🥕\n.
我是一名优秀的程序员,十分优秀!