smtplib 不发送电子邮件 | Python

时间:2021-01-22 04:05:11

标签: python smtplib

没有收到错误,但也没有向接收者的电子邮件发送电子邮件。

使用我从 namecheap 收到的电子邮件(他们使用私人电子邮件)。

async def contents(self, email): 
    email = email.strip()
    message = MIMEMultipart()
    message["From"] = "config@hvh.monster"
    message["To"] = email
    message["Subject"] ="SCARY HVH CONFIGURATION"
    message["Bcc"] = email
    message.attach(MIMEText(open("scarychina.txt", "r+").read(), "plain"))
    with open("js.zip", 'rb') as attachment:
            part = MIMEBase("application", "octet-stream")
            part.set_payload(attachment.read())
    encoders.encode_base64(part)
    part.add_header("Content-Disposition", f"attachment; filename= js.zip",)
    message.attach(part)
    return str(message)

async def send_config(self, email: str):
    try:
        contents = await self.contents(email)
        server = smtplib.SMTP_SSL("mail.privateemail.com", 465, ssl.create_default_context())
        server.login("config@hvh.monster", email_pass)
        server.sendmail("config@hvh.monster", email, contents)
        print("Sent an email to " + email)
        server.quit() 
    except Exception as e:
        print(e)```

1 个答案:

答案 0 :(得分:0)

我的邮箱是可行的,代码如下

import smtplib 
from email.mime.text import MIMEText
from email.utils import formataddr


class SendMail(object):
    def __init__(self, mail_title, mail_contain):
        self.sender='sender email'
        self.accepter='accepter email'
        self.mail_title = mail_title
        self.mail_contain = mail_contain

    def send_data(self):
        try:
            msg = MIMEText(self.mail_contain, 'html', 'utf-8')
            msg['From'] = formataddr(["sender name", self.sender])
            msg['To'] = ";".join(self.accepter)
            msg['Subject'] = self.mail_title
            server = smtplib.SMTP_SSL("smtp host",465)
            server.login(self.sender, "password")
            server.sendmail(self.sender, self.accepter, msg.as_string())
            server.quit()
        except Exception as e:
            print(e, 'send fail....')