python发送邮件SMTPS
时间: 2024-05-28 18:08:12 浏览: 26
Python中发送邮件可以使用smtplib库,该库实现了SMTP协议,可以用于发送邮件。下面是Python发送邮件SMTPS的代码示例:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 发送邮箱服务器
smtp_server = 'smtp.xxx.com'
# 发送邮箱用户名和密码(注意这里是授权码而非邮箱登录密码)
smtp_user = 'xxx@xxx.com'
smtp_password = 'xxxxx'
# 发送方、接收方邮箱地址
from_addr = 'xxx@xxx.com'
to_addr = 'xxx@xxx.com'
# 创建一个带附件的邮件实例
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = 'Python SMTPS邮件测试'
# 邮件正文内容
text = '这是一封Python SMTPS邮件测试'
text_plain = MIMEText(text, 'plain', 'utf-8')
msg.attach(text_plain)
# 添加附件
with open('test.jpg', 'rb') as f:
image_data = f.read()
image = MIMEImage(image_data)
image.add_header('Content-ID', '<test>')
msg.attach(image)
# 发送邮件
try:
smtpObj = smtplib.SMTP_SSL(smtp_server, 465)
smtpObj.login(smtp_user, smtp_password)
smtpObj.sendmail(from_addr, to_addr, msg.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件")
```
上述代码中,我们首先需要设置发送邮箱服务器的地址、发送邮箱的用户名和授权码,然后设置发送方和接收方的邮箱地址。我们创建了一个带附件的邮件实例,使用MIMEMultipart来实现。然后我们添加了邮件正文和一张图片作为附件,最后使用smtplib库中的SMTP_SSL方法建立一个安全连接,并使用sendmail方法发送邮件。