Python 从电子邮件中删除额外的标题

Python 从电子邮件中删除额外的标题,python,header,smtp,Python,Header,Smtp,我正在尝试创建一个好的电子邮件批量发件人。我编写了这个函数: def send(server_ip,username,password,recipient,count): sender = 'prova <' + username +'>' body = ''.join(tempMail) body = body.replace('#email#', recipient) body = body.replace('#random#', rand_str

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

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
def发送(服务器ip、用户名、密码、收件人、计数):
发送方='prova'
正文=“”。加入(临时邮件)
body=body.replace(“#电子邮件”,收件人)
body=body.replace(“#random#”,rand#u string())
主题=“测试smpt发送方”
headers=[“从:”+发件人,“主题:”+收件人,“MIME版本:1.0”,“内容类型:text/html”]
headers=“\r\n”。加入(头)
尝试:
server=smtplib.SMTP(服务器ip)
server.login(用户名、密码)
server.sendmail(发件人、收件人、标题+“\n\n”+正文)
代码=server.ehlo()[0]
server.quit()
打印“[+]发送至”,收件人+“smpt:”,服务器ip
除:
listSMPT.pop(计数)
打印“[-]错误发送到”+收件人+'\t'+服务器\u ip
但我有一个问题:我发送的所有电子邮件的邮件头中都有我的IP地址。 我需要一个不使用套接字或代理的解决方案! 是否可以在电子邮件标题中不包含此数据的情况下发送电子邮件?
如果我在邮件头中有SMTP的IP,这不是问题,我只需要删除python工作的PC的IP。

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

在本例中,您在
Received:
头中看到的运行Python脚本的机器的IP地址是由Python脚本连接到的第一个中继服务器添加的

如果您可以控制第一跳中继(例如,您运行的是一个后缀服务器),那么您可以在服务器上执行一些技巧来删除/检查该头