首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python ssmtp vs smtplib中发送邮件

在Python中,可以使用两种方法来发送电子邮件:smtplibssmtpsmtplib是Python内置的库,而ssmtp是一个简单的SMTP客户端,通常用于在Linux系统中发送电子邮件。

以下是使用smtplibssmtp发送电子邮件的方法:

使用smtplib发送电子邮件

  1. 安装smtplib库(如果尚未安装):
代码语言:txt
复制
pip install secure-smtplib
  1. 编写Python代码以发送电子邮件:
代码语言:python
代码运行次数:0
复制
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 设置发件人、收件人和邮件内容
sender = 'your_email@example.com'
receiver = 'receiver_email@example.com'
subject = '邮件主题'
message_body = '邮件正文'

# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject
msg.attach(MIMEText(message_body, 'plain'))

# 连接到SMTP服务器并发送邮件
try:
    server = smtplib.SMTP('smtp.example.com', 587)
    server.starttls()
    server.login('your_email@example.com', 'your_password')
    server.sendmail(sender, receiver, msg.as_string())
    server.quit()
    print('邮件已成功发送')
except Exception as e:
    print('邮件发送失败:', e)

使用ssmtp发送电子邮件

  1. 在Linux系统上安装ssmtp
代码语言:txt
复制
sudo apt-get install ssmtp
  1. 编辑ssmtp的配置文件:
代码语言:txt
复制
sudo nano /etc/ssmtp/ssmtp.conf
  1. 在配置文件中添加以下内容:
代码语言:txt
复制
root=your_email@example.com
mailhub=smtp.example.com:587
AuthUser=your_email@example.com
AuthPass=your_password
UseSTARTTLS=YES
  1. 编写Python代码以发送电子邮件:
代码语言:python
代码运行次数:0
复制
import os

receiver = 'receiver_email@example.com'
subject = '邮件主题'
message_body = '邮件正文'

# 创建邮件文件
with open('/tmp/email.txt', 'w') as f:
    f.write(f'Subject: {subject}\n\n{message_body}')

# 使用ssmtp发送邮件
os.system(f'ssmtp {receiver} < /tmp/email.txt')

请注意,ssmtp不支持通过代码直接发送邮件,因此需要使用操作系统命令来发送邮件。在这个例子中,我们将邮件内容写入一个临时文件,然后使用ssmtp命令行工具发送邮件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券