用python发邮件的问题

用python发邮件的问题

写了个用python发mail的脚本,有2个问题
1,发出去的mail被foxmail认为是垃圾邮件,怎么解决?
2,发有些邮箱不能收到,例如hotmail.com的,但使用同样的帐号,smtp服务器,用outlook就可以发送,怀疑跟第一条有关。

问题:怎么模拟出跟outlook一样的发送操作呢?不让系统认为是垃圾邮件呢?
是不是跟邮件头有关吧?
应该是。邮件头或者编码的问题。
2楼的兄弟有经验么?
邮件头有发送邮件的客户端的信息,你伪造一个就可以了.
被一部分服务器退信是因为你没有做反解的原因.


QUOTE:
原帖由 xichen 于 2006-4-3 16:53 发表
邮件头有发送邮件的客户端的信息,你伪造一个就可以了.
被一部分服务器退信是因为你没有做反解的原因.

谢谢,我明天try一下。mail server本身没问题,应为用客户端发没问题。可能没写客户端的头信息。
把代码贴出来吧
code 来了。。。

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
import smtplib
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
import email
import time
#########



femail='from@from.com'
temail ='to@hotmail.com'
msg=MIMEMultipart()

msg['From'] = femail
msg['To'] = temail
a="ttt"
msg['Subject'] =  a
msg['Reply-To'] = femail
msg['Date'] = time.ctime(time.time())

msg['X-Priority'] =  '''3'''
msg['X-MSMail-Priority'] =  '''Normal'''
msg['X-Mailer'] =  '''Microsoft Outlook Express 6.00.2900.2180'''
msg['X-MimeOLE'] =  '''Produced By Microsoft MimeOLE V6.00.2900.2180'''


body=email.MIMEText.MIMEText('''<a>test</a>''',_subtype='html',_charset='gb2312')
msg.attach(body)
s = smtplib.SMTP('mail.from.com')
s.login('from','pass')
s.sendmail(femail,temail,msg.as_string())
s.close()

将这两句注释掉,你在邮件头里告诉对方你是Outlook,但实际上不是。所以人家就认为你在欺骗它,就把你当成垃圾邮件了
#msg['X-Mailer'] =  '''Microsoft Outlook Express 6.00.2900.2180'''
#msg['X-MimeOLE'] =  '''Produced By Microsoft MimeOLE V6.00.2900.2180'''


QUOTE:
原帖由 yjfuk 于 2006-4-16 22:59 发表
将这两句注释掉,你在邮件头里告诉对方你是Outlook,但实际上不是。所以人家就认为你在欺骗它,就把你当成垃圾邮件了
#msg['X-Mailer'] =  '''Microsoft Outlook Express 6.00.2900.2180'''
#msg['X-MimeOLE']  ...

欺骗对方啊

不管是否注释掉,发送到QQ信箱都被识别为垃圾邮件
去掉还是不去掉,都不能发到hotmail的信箱,哪怕是识别为垃圾邮件。