我是php程序员,用php你可以直接用服务器发邮件,比如这个代码发邮件给客户端:
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
但在python中,必须使用smtplib和gmail或hotmail服务器发送电子邮件。 我想知道有没有用python直接从服务器发送电子邮件?
其他选项
当您在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中执行类似的操作来发送电子邮件。
相关问题 更多 >
编程相关推荐