python 编写邮件发送方法
时间: 2024-01-13 14:43:25 浏览: 22
当然可以,Python中可以使用smtplib模块来实现邮件的发送功能。您可以先建立与SMTP邮件服务器的连接,然后利用SMTP对象的成员函数发送邮件。以下是一个简单的Python函数,可以实现邮件的发送:
```
import smtplib
from email.mime.text import MIMEText
def send_email(subject, message, from_addr, to_addrs, smtp_server, password):
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addrs
server = smtplib.SMTP(smtp_server, 25)
server.starttls()
server.login(from_addr, password)
server.sendmail(from_addr, [to_addrs], msg.as_string())
server.quit()
```
其中,参数说明如下:
- subject:邮件的主题
- message:邮件的内容
- from_addr:发件人的邮箱地址
- to_addrs:收件人的邮箱地址
- smtp_server:SMTP邮件服务器地址
- password:发件人的邮箱密码,用于登录SMTP邮件服务器
您可以根据自己的要求进行调整。
相关问题
Python 编写发邮件脚本
以下是使用 Python 编写发邮件脚本的示例代码:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发件人信息
sender = 'example@163.com'
password = 'password'
# 收件人信息
receiver = 'example@gmail.com'
# 邮件内容
message = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
message['From'] = Header('发件人姓名', 'utf-8')
message['To'] = Header('收件人姓名', 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')
# 发送邮件
try:
smtp = smtplib.SMTP('smtp.163.com')
smtp.login(sender, password)
smtp.sendmail(sender, receiver, message.as_string())
print('邮件发送成功')
except Exception as e:
print('邮件发送失败', e)
finally:
smtp.quit()
```
在此示例中,我们通过 `smtplib` 模块连接到发件人的邮箱服务器,并使用邮箱账号密码进行身份验证。然后,我们创建了一封邮件,通过 `MIMEText` 类指定邮件的内容和格式,并通过 `Header` 类指定邮件的主题、发件人和收件人姓名。最后,我们使用 `sendmail` 方法将邮件发送给收件人。如果发送成功,则输出“邮件发送成功”,否则输出“邮件发送失败”并打印错误信息。
用Python编写一个发送邮件的代码
以下是使用Python发送邮件的示例代码:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 发件人邮箱账号
sender = 'example@gmail.com'
# 发件人邮箱密码或授权码
password = 'password'
# 收件人邮箱账号
receiver = 'example@163.com'
# 邮件主题
subject = 'Python发送邮件测试'
# 创建一个带附件的实例
message = MIMEMultipart()
# 邮件正文内容
text = MIMEText('这是Python发送邮件测试的内容。')
message.attach(text)
# 添加图片附件
with open('image.jpg', 'rb') as f:
image = MIMEImage(f.read())
message.attach(image)
# 设置邮件头部信息
message['From'] = sender
message['To'] = receiver
message['Subject'] = subject
try:
# 连接SMTP服务器
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
# 登录邮箱账号
server.login(sender, password)
# 发送邮件
server.sendmail(sender, receiver, message.as_string())
print('邮件发送成功')
except Exception as e:
print('邮件发送失败:', e)
finally:
# 关闭SMTP连接
server.quit()
```
以上代码使用了SMTP协议发送邮件,需要提供发件人邮箱账号、密码或授权码、收件人邮箱账号、邮件主题、邮件正文内容以及附件等信息。在发送邮件之前,需要先连接SMTP服务器并登录邮箱账号。发送邮件成功后,关闭SMTP连接。