欢迎访问宙启技术站
智能推送

Python中如何发送电子邮件

发布时间:2023-06-06 09:31:50

Python是一种非常强大的编程语言,可以用它来完成很多任务,其中一个常见的任务是发送电子邮件。Python中有一个内置的smtplib模块,可以用来发送SMTP邮件。

要使用smtplib发送电子邮件,需要以下步骤:

1. 导入smtplib模块

在Python中,要使用一个模块,需要先导入它。在这种情况下,需要导入smtplib模块,如下所示:

import smtplib

2. 设置SMTP服务器和端口号

要使用smtplib发送SMTP邮件,需要首先设置SMTP服务器和端口号。通常,这些信息可以从您的电子邮件服务提供商处获得。以下是一些常见的SMTP服务器和端口:

- Gmail: smtp.gmail.com(端口:465或587)

- Yahoo Mail: smtp.mail.yahoo.com(端口:465或587)

- Hotmail: smtp.live.com(端口:25或465或587)

以下是一个示例:

smtp_server = 'smtp.gmail.com'
port = 587

3. 登录电子邮件帐户

要使用smtplib发送电子邮件,需要首先登录您的电子邮件帐户。您需要提供您的电子邮件帐户和密码。以下是一个示例:

email = 'your_email_address@gmail.com'
password = 'your_email_password'

4. 设置电子邮件内容

要发送电子邮件,需要设置电子邮件的内容,包括收件人、主题、正文等。示例代码如下:

from_addr = 'your_email_address@gmail.com'
to_addr = 'recipient_email_address@example.com'
subject = 'This is the subject of the email'
body = 'This is the body of the email'

5. 创建SMTP连接

使用smtplib模块创建SMTP连接。这里需要提供SMTP服务器和端口号。以下是一个示例:

smtp_obj = smtplib.SMTP(smtp_server, port)

6. 发送电子邮件

使用smtplib模块发送电子邮件。这里需要提供发件人和收件人的电子邮件地址、主题、正文等信息。以下是一个示例:

smtp_obj.sendmail(from_addr, to_addr, 'Subject: {}

{}'.format(subject, body))

7. 关闭SMTP连接

完成电子邮件发送后,需要关闭SMTP连接。以下是一个示例:

smtp_obj.quit()

综上所述,使用smtplib模块可以轻松地发送电子邮件。下面是完整的示例代码:

import smtplib

smtp_server = 'smtp.gmail.com'
port = 587
email = 'your_email_address@gmail.com'
password = 'your_email_password'

from_addr = 'your_email_address@gmail.com'
to_addr = 'recipient_email_address@example.com'
subject = 'This is the subject of the email'
body = 'This is the body of the email'

smtp_obj = smtplib.SMTP(smtp_server, port)
smtp_obj.starttls()
smtp_obj.login(email, password)
smtp_obj.sendmail(from_addr, to_addr, 'Subject: {}

{}'.format(subject, body))
smtp_obj.quit()

需要注意的是,某些电子邮件服务提供商需要使用SSL或TLS加密。在这种情况下,需要在创建SMTP连接时使用starttls()方法。如果您的电子邮件服务提供商需要使用SSL加密,请使用SMTP_SSL类替代SMTP类。