如何发送有效期限的邮件,从收件箱中自动删除

时间:2012-11-05 17:24:36

标签: python smtp gmail

这是通过python程序发送邮件的方法。

def Send_Mail(self, username, password, receiver, subject, body):
    username = str(username)
    password = str(password)
    receiver = str(receiver)
    subject = str(subject)
    body = str(body)
    Username = username
    Password = password
    Sender = username
    Destination = [receiver]
    Subject = subject
    Content = body
    text_subtype = 'html'
    SMTPserver = 'smtp.gmail.com'
    msg = MIMEText(Content, text_subtype)
    msg['Subject'] = Subject
    msg['From'] = Sender
    conn = SMTP(SMTPserver)
    conn.set_debuglevel(False)
    conn.login(Username, Password)
    conn.sendmail(Sender, Destination, msg.as_string())
    conn.close()

通过

调用此方法
Classname.Send_Mail(<emailid>,<password>,<destination email-id>,<subject>,<body>

此代码运行正常, 但需要在发送邮件时设置到期日期,以便发送的邮件必须在指定时间后从收件箱中自动删除。 帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

据我所知,在SMTP或another mail related standard的任何地方都没有“自动删除”这样的内容。另外,我从未听说过像这样的“功能”。

所以答案是:你不能

(也许他们是支持此类内容的邮件客户端,但这只是“仅适用于客户端X”功能。因此,对于更有用的答案,您必须提供目标客户端。)

答案 1 :(得分:1)

在邮件中设置“Expiry-Date”标题,大多数客户端都会对其进行确认(并且过期,标记为已删除,请求权限等)

答案 2 :(得分:0)

Expiry-Date已替换为Expires作为SMTP标头,表示电子邮件的有用性已过期。请参阅the relevant section of RFC 4021

尽管如此,虽然它是标准化的,但我认为它并没有被广泛采用,标题也不能保证邮件会被删除。不过,Microsoft Outlook会show an expired message with a strikethrough style