


python3 ai_email_news.py
import osimport sysimport yagmaildef send_email(attachments=None):"""发送邮件:param attachments: 附件路径列表,例如 ['/path/to/file.xlsx']"""# 替换为你自己的 QQ 邮箱和对应的授权码sender_email = "发件人邮箱@qq.com"sender_password = os.getenv('QQ_EMAIL_PW') # 邮箱授权码,不是登录密码!file_path = sys.args[1] # 文件路径,第一个参数subject = sys.args[2] # 有加你主题,第二个参数with open(file_path,'r',encoding='utf-8') as f:content = f.read() # 邮件正文内容try:yag = yagmail.SMTP(user=sender_email, # 发件人password=sender_password,host='smtp.qq.com', # QQ 邮箱 SMTP 地址,腾讯企业邮箱使用域名:smtp.exmail.qq.comsmtp_ssl=True # 强制启用 SSL 安全传输)yag.send(to='收件邮箱@qq.com',cc=None, # 抄送subject=subject,contents=content,attachments=attachments)print("✅ 邮件发送成功!")except Exception as e:print(f"❌ 邮件发送失败: {e}")send_email() # 发送邮件
2. 编写调度代码块:整体由提示词和sdk调用构成,没有过多的代码。/home/yinrong/ai_email_news.py import osfrom claude_agent_sdk import query, ClaudeAgentOptionsimport anyioimport datetime# 昨天的日期search_date = (datetime.datetime.now() - datetime.timedelta(days=1)).strftime('%Y年%m月%d日')# 构造提示词prompt = f"""你是一名专业新闻编辑,请基于以下要求搜索 {search_date} 有关'AI前沿应用'、'社会民生政策'、'经济发展动态'、'金融投资动态'主题新闻,提炼要点并推送邮件。【主题范围】**AI前沿应用**聚焦AI技术在商业场景落地和产业变革的核心动态。重点锁定:主流大模型厂商产品商业化进程、AI对传统行业改造升级、AI编程工具(Cursor、Windsurf等)研发效率革命、智能数据分析工具(自然语言处理Excel/SQL/ChatBI)应用突破。选题标准:具有行业示范意义的商业化案例,剔除纯技术发布和敏感信息。**社会民生政策**聚焦国家级重大民生政策发布与实施影响。核心关注:国务院及各部委出台的民生领域重大改革、涉及就业、医疗、教育、住房、社保等基础民生制度的全国性政策调整、重大民生工程实施进展。筛选原则:以全国性政策文件和官方解读为主,排除地方政策和日常新闻报道。**经济发展动态**聚焦宏观经济走势与产业政策导向。报道重点:国家统计局宏观经济数据发布与权威解读、国家发改委等部门重大产业规划与区域发展战略、新兴产业政策布局、国际贸易环境变化对国内经济的传导效应。价值判断:选择影响面广、具有前瞻性的宏观经济信号,避免单一企业层面信息。**金融投资动态**聚焦金融市场重大变化与投资趋势。核心领域:"一行一局一会"重大监管政策、央行货币政策调整、市场流动性变化、A股/港股/美股宏观层面的投资机会切换、行业轮动与资本运作事件。筛选标准:关注影响市场整体走向的关键变量,排除个股推荐和短期技术分析。【具体要求】1. 每个主题筛选10条核心动态,每条提炼不超过60字。2. 每条新闻提炼内容尾部必须对新闻来源和连接进行标记。3. 新闻摘要包含:主体+事件+影响/意义;语言风格:客观、专业、新闻化。4. 质量要求:信息准确,来源可靠;具有新闻价值和行业影响;避免重复和雷同内容。【输出格式示例】:不同主题中空出一行**AI前沿应用**1. OpenAI发布Operator智能体,可自主操作浏览器完成复杂任务。<a href="http://finance.sina.com.cn/zl/2025-11-05/zl-infwifvu9264116.shtml?cref=cj" style="color:#4A90E2;text-decoration:none;line-height:1.8" target="_blank">新浪财经</a>2. 微软Copilot全面接入Office 365,企业办公效率提升30%+。<a href="http://finance.eastmoney.com/a/202511043554782143.html" style="color:#4A90E2;text-decoration:none;line-height:1.8" target="_blank">东方财富网</a>【邮件推送】提炼后将内容以txt文本格式保存到 /home/yinrong/ainews 目录下,文件命名:AI新闻_{search_date}.txt邮件推送使用如下命令:python3 /home/yinrong/email_news.py [保存的新闻文件路径] [邮件主题]具体示例如下(邮件主题直接使用文件名):python3 "/home/yinrong/email_news.py" "/home/yinrong/ainews/AI新闻_{search_date}.txt" "AI新闻_{search_date}""""options = ClaudeAgentOptions(allowed_tools=["Read", "Write", "Bash", "Task", "WebSearch", "WebFetch"], # 配置允许的工具,网络搜索工具permission_mode='acceptEdits' # 允许编辑文件,claude的默认行为是拒绝编辑文件)async def main():async for message in query(prompt=prompt,options=options):if hasattr(message, 'content') and isinstance(message.content, list):for block in message.content:if hasattr(block, 'text'):print(block.text)anyio.run(main)
最后终端执行 crontab -e 命令添加如下定时调度任务:每天早上6点调度,自动抓取推送前一天的新闻
0 6 * * * python3 /home/yinrong/ai_email_news.py有需要推送的同学可以留言邮箱