📜  轻松发送电子邮件 python (1)

📅  最后修改于: 2023-12-03 14:57:52.812000             🧑  作者: Mango

轻松发送电子邮件 Python

Python是一种流行的编程语言,它可以用来编写各种各样的应用程序,包括发送电子邮件。在这篇文章中,我们将介绍如何使用Python轻松发送电子邮件。

1. 环境设置

首先,我们需要安装Python和相应的邮件模块。邮件模块有很多,其中最流行的是smtplib和email模块。您可以使用以下命令来安装这些模块:

pip install smtplib
pip install email
2. 发送简单的文本邮件

下面是一个使用smtplib和email模块发送简单的文本邮件示例:

import smtplib
from email.mime.text import MIMEText

def send_email():
    # 邮件信息
    sender = 'example@gmail.com'
    receiver = 'example@example.com'
    subject = '邮件标题'
    content = '邮件内容'

    # 组合邮件信息
    message = MIMEText(content, 'plain', 'utf-8')
    message['From'] = sender
    message['To'] = receiver
    message['Subject'] = subject

    # 发送邮件
    smtp = smtplib.SMTP('smtp.gmail.com', 587)
    smtp.ehlo()
    smtp.starttls()
    smtp.login(sender, 'password')
    smtp.sendmail(sender, receiver, message.as_string())
    smtp.quit()

if __name__ == '__main__':
    send_email()

在上述代码中,首先您需要将senderreceiver更改为您自己的电子邮件地址和收件人地址。然后,将subjectcontent替换为您想要发送的邮件的主题和内容。最后,将smtp.login(sender, 'password')中的password更改为您的邮箱密码。

3. 发送带有附件的邮件

有时您可能需要发送带有附件的邮件。要发送带有附件的邮件,请先将要发送的文件保存到本地文件夹中。然后,使用Python的open函数读取文件,将内容添加到邮件中。

以下是一个使用smtplib和email模块发送带有附件的邮件的示例:

import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

def send_email():
    # 邮件信息
    sender = 'example@gmail.com'
    receiver = 'example@example.com'
    subject = '邮件标题'
    content = '邮件内容'
    attach_path = '/path/to/attachment.txt'

    # 组合邮件信息
    message = MIMEMultipart()
    message['From'] = sender
    message['To'] = receiver
    message['Subject'] = subject

    # 邮件正文
    text = MIMEText(content, 'plain', 'utf-8')
    message.attach(text)

    # 附件
    with open(attach_path, 'rb') as f:
        attach = MIMEApplication(f.read())
        attach.add_header('Content-Disposition', 'attachment', filename=os.path.basename(attach_path))
        message.attach(attach)

    # 发送邮件
    smtp = smtplib.SMTP('smtp.gmail.com', 587)
    smtp.ehlo()
    smtp.starttls()
    smtp.login(sender, 'password')
    smtp.sendmail(sender, receiver, message.as_string())
    smtp.quit()

if __name__ == '__main__':
    send_email()

在上述代码中,您需要将senderreceiver更改为您自己的电子邮件地址和收件人地址。然后,将subjectcontent替换为您想要发送的邮件的主题和内容。最后,将attach_path更改为要发送的附件的路径。

以上是使用Python发送电子邮件的简单介绍。通过这篇文章,您可以了解如何使用Python轻松发送文本和带有附件的电子邮件。