python smtp 发邮件
时间: 2023-10-19 13:34:17 浏览: 152
要使用Python发送SMTP邮件,首先需要开启邮箱的IMAP/SMTP服务。然后,你需要根据要求生成授权码。接下来,你可以使用以下代码实现普通邮件的发送:
```
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
host = 'smtp.qq.com'
user = '2215021849@qq.com'
pwd = 'bojagdizjvwhebfb' # smtp服务授权码
def send_mail(recv):
"""
:param recv: 接收者账号列表
:return:
"""
msg = MIMEMultipart()
msg.attach(MIMEText('hello world!')) # 邮件正文的内容
相关问题
python smtp发送邮件
发送邮件需要使用SMTP协议,Python提供了smtplib模块来支持SMTP协议。
以下是一个简单的Python程序,可以使用SMTP发送邮件:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发送邮件的邮箱地址
sender = 'your_email@example.com'
# 邮件接收者的邮箱地址
receiver = 'receiver_email@example.com'
# 发送邮件的SMTP服务器地址
smtp_server = 'smtp.example.com'
# 发送者邮箱的登录账号和密码
username = 'your_email@example.com'
password = 'your_password'
# 邮件主题和内容
subject = 'Python SMTP邮件测试'
content = '这是一封Python生成的SMTP邮件测试。\n'
# 构建邮件正文
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(receiver, 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
# 发送邮件
try:
smtp_obj = smtplib.SMTP(smtp_server)
smtp_obj.login(username, password)
smtp_obj.sendmail(sender, receiver, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("邮件发送失败:", e)
finally:
smtp_obj.quit()
```
其中,`MIMEText`对象表示邮件正文,`Header`对象表示邮件头部信息。在实际使用时,需要将`sender`、`receiver`、`smtp_server`、`username`、`password`、`subject`和`content`替换成自己的信息。
python SMTP服务器发邮件
在Python中,可以使用内置的`smtplib`库来发送电子邮件通过SMTP(Simple Mail Transfer Protocol)服务器。以下是一个简单的示例,展示如何使用SMTP发送一封基本的邮件:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件设置
smtp_server = 'smtp.example.com' # 你的SMTP服务器地址
smtp_port = 587 # 或者465(如果SSL/TLS)
username = 'your_email@example.com' # 发送者的邮箱地址
password = 'your_password' # 发送者的邮箱密码
# 收件人信息
to_address = 'recipient@example.com'
subject = 'Python SMTP Test'
# 构造邮件内容
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
msg['From'] = Header(username)
msg['To'] = Header(to_address)
msg['Subject'] = Header(subject)
try:
server = smtplib.SMTP(smtp_server, smtp_port)
if smtp_port == 465:
server.starttls() # 如果是SSL连接
server.login(username, password)
server.sendmail(username, [to_address], msg.as_string())
print(f"邮件已成功发送到 {to_address}")
except Exception as e:
print(f"邮件发送失败:{e}")
finally:
server.quit()
```
阅读全文