Python实现邮件发送

大家好,我又来给大家更新,废话不多说,代码如下:

#导入所需的模块

import re

import smtplib

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

# 填写你的QQ邮箱和密码

username = ' 自己的QQ号+@qq.com'#填入自己的QQ邮箱

password = '改为自己QQ邮箱的授权码'#进入QQ邮箱官网:https://mail.qq.com/获取QQ授权码

# 设置SMTP服务器

smtp_server = 'smtp.qq.com'

smtp_port = 587 # 通常为465或587

# 创建邮件对象

msg = MIMEMultipart()

# 设置邮件内容

msg['From'] = username

while True:

    qq_ID=str(input('请输入要接收邮件的QQ号:'))

    pattern = re.compile(r'^[0-9]+$') # 只匹配由数字组成的字符串

    if pattern.match(qq_ID) and len(qq_ID)<=10:

        msg['To'] =qq_ID +'@qq.com' # 填写接收者的邮箱地址

        break

   else:

        print("请输入正确的QQ号!")

msg['Subject'] = '更改为你的邮件主题' # 邮件主题

body = '更改为你需要写的邮件正文' # 邮件正文内容

msg.attach(MIMEText(body, 'plain'))

# 登录SMTP服务器

server = smtplib.SMTP(smtp_server, smtp_port)

server.starttls() # 安全连接

server.login(username, password)#登录个人邮箱

# 发送邮件

 try:

     text = msg.as_string()

     server.sendmail(username, msg['To'], text)

     print('发送成功')

except smtplib.SMTPDataError:

     print('邮箱不存在')

server.quit()#退出SMTP服务器

这段代码是一个简单的Python用于发送邮件。它使用了Python的标准库中的一些模块,如:re, smtplib, email。以下是代码的详细介绍:

 

导入必要的模块:

re:正则表达式模块,用于匹配字符串。

smtplib:用于通过SMTP协议发送电子邮件。

email:提供了一些类用于创建和解析电子邮件。

填写你的QQ邮箱和密码:这一行代码只是为了注释说明,让读者知道应该在这里填写QQ邮箱和密码。

进入QQ邮箱官网获取QQ授权码:这行代码也是注释,提示用户需要去QQ邮箱官网获取授权码。

QQ邮箱授权码获取步骤如下:

1. 打开手机的器,访问腾讯官方网站(https://mail.qq.com/)

2. 点击页面上的"登录"按钮,在弹出的登录界面中输入您的QQ邮箱账号和密码,然后点击"登录"

3. 登录成功后,点击页面右上角的"设置"按钮,选择"账户"选项

4. 在"账户"选项卡下,找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务",点击"开启"

5. 针对SMTP服务,点击"生成授权码",系统会为您生成一个唯一的授权码。请记下这个授权码,因为它是访问QQ邮箱SMTP服务所需的密码

 

设置SMTP服务器:这里设置了SMTP服务器为QQ的SMTP服务器。

创建邮件对象:使用MIMEMultipart类创建一个邮件对象。

设置邮件内容:

从用户输入中获取接收者的QQ号,并通过正则表达式检查和QQ长度输入是否为有效的数字组成的字符串

设置邮件的主题和正文内容。

登录SMTP服务器:使用之前设置的SMTP服务器和端口号,以及填写的QQ邮箱和密码来登录SMTP服务器。

发送邮件:在登录成功后,如果在发送过程中遇到错误,会打印出错误信息。

退出SMTP服务器:发送完邮件后,退出SMTP服务器。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
以下是Python实现邮件发送的示例代码: ```python import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage # 设置发送方、接收方、邮件主题和内容 sender = 'youremail@example.com' receiver = 'recipient@example.com' subject = 'Email Subject' text = 'Email Content' # 创建一个带附件的邮件实例 message = MIMEMultipart() message['From'] = sender message['To'] = receiver message['Subject'] = subject # 添加文本内容 text_content = MIMEText(text) message.attach(text_content) # 添加图片附件 with open('image.jpg', 'rb') as f: image_data = f.read() image = MIMEImage(image_data) image.add_header('Content-ID', '<image1>') message.attach(image) # 发送邮件 try: smtpObj = smtplib.SMTP('smtp.example.com', 25) smtpObj.login('username', 'password') smtpObj.sendmail(sender, receiver, message.as_string()) print('Email sent successfully') except smtplib.SMTPException: print('Error: Unable to send email') ``` 在上面的示例代码中,我们使用了Python内置的`smtplib`模块和邮件相关的`MIME`模块来实现邮件发送。首先,我们设置了发送方、接收方、邮件主题和内容。然后,我们创建了一个带附件的邮件实例,并添加了文本内容和图片附件。最后,我们使用SMTP协议发送了邮件。在实际使用中,我们需要根据具体的邮件服务器和账户信息来设置`SMTP`服务器和登录信息。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python—郎君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值