簡體   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