在Python中编写发送电子邮件的代码,通常需要使用`smtplib`库来处理邮件发送,以及`email.mime`模块来构造邮件内容。以下是一个简单的示例,展示了如何构造一个包含纯文本和HTML格式的邮件,并发送给指定的收件人:
```python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
设置发送者邮箱和密码
sender_email = ""
sender_password = "your_email_password"
收件人邮箱地址
receiver_email = ""
创建邮件对象
msg = MIMEMultipart()
设置邮件的基本信息
msg['From'] = Header(sender_email)
msg['To'] = Header(receiver_email)
msg['Subject'] = Header("邮件主题", 'utf-8')
邮件正文内容,可以包含纯文本和HTML格式
text_part = MIMEText("这是纯文本内容", 'plain', 'utf-8')
html_part = MIMEText('
这是HTML格式内容
', 'html', 'utf-8')将正文内容添加到邮件对象中
msg.attach(text_part)
msg.attach(html_part)

发送邮件
try:
smtp_server = smtplib.SMTP_SSL("smtp.example.com", 465)
smtp_server.login(sender_email, sender_password)
smtp_server.sendmail(sender_email, receiver_email, msg.as_string())
smtp_server.quit()
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件", e)
请确保替换`sender_email`、`sender_password`和`receiver_email`为实际的邮箱地址,并根据需要修改邮件主题和内容。如果你需要发送带有附件的邮件,可以使用`MIMEApplication`类来添加附件,如下所示:```python添加附件
filename = "example.txt"
attachment = open(filename, "rb")
part = MIMEApplication(attachment.read(), _subtype="octet-stream")
part.add_header("Content-Disposition", "attachment", filename=filename)
msg.attach(part)
请确保你有发送和接收邮件的权限,并且已经开启了相应的SMTP服务。如果你使用的是第三方邮件服务,如Gmail或邮箱,可能还需要在邮箱设置中允许"不太安全的应用"访问你的邮箱。
如果你需要验证一个字符串是否是有效的电子邮件地址,可以使用正则表达式,如下所示:
```python
import re
email_regex = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
email = ""
if re.match(email_regex, email):
print("这是一个有效的电子邮件地址")
else:
print("这不是一个有效的电子邮件地址")
请根据你的具体需求调整代码,并确保遵循了邮件服务提供商的使用条款和条件。
