python 爱心邮件代码 【代码】python 爱心邮件代码。

import smtplib
import time
from email.mime.text import MIMEText
import requests
from lxml import etree
import datetime
from requests.exceptions import RequestException
# 邮件配置
sender_maile = '' # 发件人地址
sender_pass = '' # 邮件授权码
boy_name = '' # 发件人姓名
girl_name = '' # 收件人姓名
receiver_mail = '' # 收件人邮箱
special_day = '2023-10-11' # 纪念日
province = 'guangxi' # 省份
city = 'jiangnan-district' # 城市
title = '' # 邮件主题
# 请求头
header = {
 'Referer': 'https://tianqi.moji.com/weather/china/guangxi',
 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
}
session = requests.session()
# 获取纪念日距今天数
def get_day():
 d1 = datetime.datetime.strptime(special_day, '%Y-%m-%d')
 d2 = datetime.datetime.strptime(datetime.datetime.now().strftime('%Y-%m-%d'), '%Y-%m-%d')
 delta = d2 - d1
 return delta.days
# 获取土味情话
def get_chp():
 url = "https://api.lovelive.tools/api/SweetNothings"
 try:
 resp = requests.get(url=url, verify=True)
 return resp.text
 except RequestException:
 return "获取土味情话失败"
# 获取天气提醒
def get_weathertip():
 try:
 url = f'https://tianqi.moji.com/weather/china/{province}/{city}'
 resp = session.get(url=url, headers=header, verify=False)
 html = etree.HTML(resp.text)
 em = html.xpath('/html/body/div[4]/div[1]/div[4]/em/text()')[0]
 return em
 except:
 return "获取天气提醒失败"
# 获取天气信息
def get_weather():
 try:
 url = f'https://tianqi.moji.com/weather/china/{province}/{city}'
 resp = session.get(url=url, headers=header, verify=False)
 html = ''
 htmls = etree.HTML(resp.text)
 ul = htmls.xpath('/html/body/div[5]/div[1]/div[1]/ul')
 for lis in ul:
 day = lis.xpath('./li[1]/a/text()')[0]
 src = lis.xpath('./li[2]/span/img/@src')[0]
 temperature = lis.xpath('./li[3]/text()')[0]
 air = lis.xpath('./li[5]/strong/text()')[0].strip()
 color = str(lis.xpath('./li[5]/strong/@class')[0])
 color = {
 'level_1': '#8fc31f',
 'level_2': '#d7af0e',
 'level_3': '#f39800',
 'level_4': '#e2361a',
 'level_5': '#5f52a0',
 'level_6': '#631541'
 }.get(color, '#000000')
 html += f"""
 {day}
 
 
 
 {temperature}
 
 {air}
 
 """
 return html
 except:
 return "获取天气失败"
# 获取每日图片
def get_image():
 url = "http://wufazhuce.com/"
 try:
 resp = requests.get(url=url)
 html = etree.HTML(resp.text)
 img_url = html.xpath('//*[@id="carousel-one"]/div/div[1]/a/img/@src')[0]
 return img_url
 except:
 return "https://example.com/default-image.jpg" # 替换为默认图片链接
# 获取当天日期
def get_today():
 i = datetime.datetime.now()
 date = f"{i.year}/{i.month}/{i.day}"
 return date
# 邮件内容
mail_content = f"""
 
 
 今天是我们在一起的第
 {get_day()}
 天
 
 
 {get_chp()}
 
 {get_weathertip()}
 近期天气预报
 {get_weather()}
 
 
 {boy_name} ❤️ {girl_name}
 {get_today()}
 
 
"""
# 发送邮件
def send_mail():
 try:
 maile_obj = smtplib.SMTP_SSL('smtp.qq.com', 465)
 maile_obj.login(sender_maile, sender_pass)
 msg = MIMEText(mail_content, _subtype='html', _charset='utf-8')
 msg['Subject'] = title
 msg['From'] = f"{boy_name} "
 msg['To'] = f"{girl_name} "
 maile_obj.sendmail(sender_maile, receiver_mail, msg.as_string())
 maile_obj.quit()
 print("发送成功!")
 except smtplib.SMTPException as e:
 print("邮件发送失败:", e)
if __name__ == '__main__':
 send_mail()
 print("当前时间:", datetime.datetime.now())

作者:fann@qiu原文地址:https://blog.csdn.net/m0_73581247/article/details/143690853

%s 个评论

要回复文章请先登录注册