繁体   English   中英

从电子邮件中删除多余的标题

[英]Remove extra headers from email

我正在尝试创建一个良好的电子邮件批量发件人。 我已经写了这个函数:

def send(server_ip,username,password,recipient,count):
    sender = 'prova <' + username +'>'
    body = ''.join(tempMail)
    body = body.replace('#email#', recipient)
    body = body.replace('#random#', rand_string())
    subject = "Test smpt sender"
    headers = ["From: " + sender, "Subject: " + subject, "To: " + recipient, "MIME-Version: 1.0", "Content-Type: text/html"]
    headers = "\r\n".join(headers)
    try:
        server = smtplib.SMTP(server_ip)  
        server.login(username,password)
        server.sendmail(sender, recipient, headers + "\n\n" + body)
        code = server.ehlo()[0]
        server.quit()
        print "[+] Send to",recipient + " smpt :",server_ip
    except:
        listSMPT.pop(count)
        print "[-] Error send to " + recipient + '\t' + server_ip

但是我有一个问题:我发送的所有电子邮件的电子邮件标题中都有我的IP地址。 我需要不使用套接字或代理的解决方案! 是否可以在电子邮件标题中发送没有此数据的电子邮件? 如果我在标头中有SMTP的IP,这没问题,我只需要删除python工作的PC的IP。

看来您正在使用远程SMTP服务器中继电子邮件。 例如,您将电子邮件提交到另一台服务器,服务器将为您发送电子邮件。

在这种情况下,运行Python脚本的计算机的IP地址(您在Received:标头中看到)是由您的Python脚本所连接的第一个中继服务器添加的。

如果可以控制该第一跳中继(例如,它是运行的Postfix服务器),则可以在服务器上做一些技巧来删除/检查该报头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM