python用户输入自己邮箱和收件人邮箱并发送
时间: 2024-05-13 17:14:56 浏览: 6
你可以使用 Python 的内置模块 `smtplib` 和 `email` 来实现发送邮件。
首先,你需要导入这两个模块:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
```
然后,你需要定义发送邮件的基本信息,包括邮件服务器地址、发件人邮箱、发件人密码等等:
```python
# 邮件服务器地址
mail_host = "smtp.xxx.com"
# 发件人邮箱
mail_sender = "your_email@xxx.com"
# 发件人邮箱密码或授权码
mail_password = "your_password_or_auth_code"
```
接下来,你需要获取用户输入的收件人邮箱和邮件内容:
```python
# 获取用户输入的收件人邮箱和邮件内容
mail_receiver = input("请输入收件人邮箱:")
mail_content = input("请输入邮件内容:")
```
然后,你需要构造邮件内容,包括邮件正文和邮件头部信息:
```python
# 构造邮件内容
message = MIMEText(mail_content, 'plain', 'utf-8')
message['From'] = Header(mail_sender, 'utf-8')
message['To'] = Header(mail_receiver, 'utf-8')
message['Subject'] = Header('Python 邮件测试', 'utf-8')
```
最后,你需要通过 `smtplib` 模块连接邮件服务器并发送邮件:
```python
# 连接邮件服务器并发送邮件
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(mail_sender, mail_password)
smtpObj.sendmail(mail_sender, mail_receiver, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("邮件发送失败,错误信息:", e)
```
完整代码如下所示:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件服务器地址
mail_host = "smtp.xxx.com"
# 发件人邮箱
mail_sender = "your_email@xxx.com"
# 发件人邮箱密码或授权码
mail_password = "your_password_or_auth_code"
# 获取用户输入的收件人邮箱和邮件内容
mail_receiver = input("请输入收件人邮箱:")
mail_content = input("请输入邮件内容:")
# 构造邮件内容
message = MIMEText(mail_content, 'plain', 'utf-8')
message['From'] = Header(mail_sender, 'utf-8')
message['To'] = Header(mail_receiver, 'utf-8')
message['Subject'] = Header('Python 邮件测试', 'utf-8')
# 连接邮件服务器并发送邮件
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(mail_sender, mail_password)
smtpObj.sendmail(mail_sender, mail_receiver, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("邮件发送失败,错误信息:", e)
```
注意,这段代码只是一个简单的示例,实际上发送邮件还需要考虑很多因素,比如邮件服务器的限制、邮件内容的编码、邮件头部信息的格式等等。在实际应用中,你需要根据具体情况进行相应的调整。