提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
**注意下面**
如果有车载讨论需要的小伙伴,可以私信加我微信
,拉你进群,和同行业大佬交流
**注意上面**
前言
提示:这里可以添加本文要记录的大概内容:
最近由于有邮箱自动化的需要,所以调试了下自动化发送邮件给qq邮箱,中间出了一些问题,今天特此记录下相关问题点,防止后续忘记
提示:以下是本篇文章正文内容,下面案例可供参考
一、开发过程中的问题点
完成整体代码只花了个把小时,debug问题,几乎花了我一天的时间,给qq邮箱发邮件,一发就被识为垃圾邮件,总是找不到原因,最终在查QQ邮箱的相关邮件规则时找到了原因,(配置邮件内容时,相关信息一定要是utf-8编码的,否则会被识别为垃圾邮件
)
二、具体代码
代码如下(示例):
import imaplib
import os
import re
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from bs4 import BeautifulSoup
import requests
def send_mail(username,password):
# 收件人邮箱
email_send = 'xxx@163.com.cn'
url_info = analysis_html()
# 邮件内容
message = MIMEMultipart()
message.attach(MIMEText(url_info, 'plain', 'utf-8'))
att1 = MIMEText(open(url_info, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = f'attachment; filename="{url_info}"' # 设置文件名称
message['From'] = Header("github信息同步", 'utf-8')
message['To'] = Header("chengjun", 'utf-8')
message['Subject'] = Header('每日web链接同步', 'utf-8')
message.attach(att1)
# try:
smtpObj = smtplib.SMTP_SSL('smtp.163.com', 587)
smtpObj.login(username, password)
smtpObj.sendmail(username, email_send, message.as_string())
print("邮件发送成功")
# except smtplib.SMTPException:
# print("Error: 无法发送邮件")
def analysis_html():
url ='https://github.com/xxxx'
url_info = ""
response = requests.get(url,timeout=50)
html_content = response.text
soup = BeautifulSoup(html_content, 'lxml')
content_elements = soup.find_all('script', type='application/json')
data = re.search("data-snippet-clipboard-copy-content=\\\\\"(.+?)notranslate",content_elements[2].text)
data_list = data.group(1).split(' ')
for data in data_list:
if re.search("://",data):
url_info +=data.strip("\\\\n")+"\n"
with open("url_data.txt","w+",encoding="utf-8") as file:
file.write(url_info)
file_path = os.getcwd()+"\\url_data.txt"
return file_path
# 示例用法
if __name__ == '__main__':
username = "xxx@163.com"
password = "xxxxx"
send_mail(username,password)
# analysis_html()
总结
我是一名车载自动化测试开发工程师,希望能和志同道合的朋友一起相互学习进步