python 发邮件无服务器,如何使用python直接从服务器发送电子邮件而不使用smtp

其他选项

当您在PHP中使用邮件功能时,它使用的是您所在主机的本地sendmail,而这又只是一个本地的SMTP中继,当然本地发送邮件并不是真正的建议,因为由于DKIM、SPF和其他保护机制,这些邮件可能没有很好的传递率。如果你关心可交付性,我建议使用

a)用于发送邮件的外部SMTP服务器,该服务器已为发送域正确配置。

b)API,如AWS SES、Mailgun或同等产品。

如果您不关心可传递性,那么您当然可以使用来自Python的本地SendMail,SendMail与任何其他SMTP服务器一样监听端口25上的环回地址(127.0.0.1),因此您可以使用smtplib通过SendMail发送,而无需使用外部SMTP服务器。

通过本地SMTP发送电子邮件

如果有本地SMTP服务器(如SendMail),请检查它是否按预期侦听。。。

netstat -tuna

您应该看到它正在监听端口25上的环回地址。

如果它在监听,那么您应该能够在Python中执行类似的操作来发送电子邮件。import smtplib

sender = '[email protected]'

receivers = ['[email protected]']

message = """From: No Reply

To: Person

Subject: Test Email

This is a test e-mail message.

"""

try:

smtpObj = smtplib.SMTP('localhost')

smtpObj.sendmail(sender, receivers, message)

print("Successfully sent email")

except SMTPException:

print("Error: unable to send email")

你可能感兴趣的:(python,发邮件无服务器)