发送带有python的电子邮件不起作用

时间:2012-09-27 10:27:20

标签: python smtp

我尝试通过python发送电子邮件。 根据我的脚本,发送成功。

import smtplib

sender = 'from@fromdomain.com'
receivers = ['my@emailadress.com']

message = """From: From Person <from@fromdomain.com>
To: To Person <to@todomain.com>
Subject: SMTP e-mail test

This is a test e-mail message.
"""

try:
    smtpObj = smtplib.SMTP('127.0.0.1', 1025)
    smtpObj.sendmail(sender, receivers, message)
    print "Successfully sent email"
except smtplib.SMTPException:
    print "Error: unable to send email"

但是当我检查我的电子邮件时,我没有收到新邮件。 :( 问题出在哪儿?我发送的电子邮件在哪里?

修改

我的smtp测试服务器是:

import smtpd
import asyncore

class CustomSMTPServer(smtpd.SMTPServer):

    def process_message(self, peer, mailfrom, rcpttos, data):
        print 'Receiving message from:', peer
        print 'Message addressed from:', mailfrom
        print 'Message addressed to  :', rcpttos
        print 'Message length        :', len(data)
        return

server = CustomSMTPServer(('127.0.0.1', 1025), None)
print "Started...."

asyncore.loop()

我的smtp服务器说:

Receiving message from: ('127.0.0.1', 65071)
Message addressed from: from@fromdomain.com
Message addressed to  : ['my@emailadress.com']
Message length        : 129

1 个答案:

答案 0 :(得分:0)

process_message()除了输出输入数据外什么都不做。因此它会显示有关邮件的数据,但不会将此邮件转发到您的真实收件箱,但会丢弃数据。

所以你没有收到邮件是正常的。