Skip to content
/ email-bot Public

根据用户配置 爬取 one 和不同地区墨迹天气 每天定时多人发邮件

License

Notifications You must be signed in to change notification settings

hipi/email-bot

Repository files navigation

Email-Bot

根据用户配置 爬取 one 和不同地区墨迹天气 每天定时发邮件,支持多人地区个性化定制。详细文档请看https://yuye.fun/posts/713d3487/

示例

使用

安装依赖

git clone https://github.com/cyea/email-bot.git

cd email-bot

yarn

配置

修改发送者邮箱账号密码敏感配置

新建.env文件 格式是跟.env.example 一样的 填入自己的邮箱账号密码及邮件提供商

修改其他不敏感配置

修改config/index.js里的配置文件

const { env } = process;
module.exports = {
  ONE: "http://wufazhuce.com/", // ONE的web版网站
  MOJI_HOST: "https://tianqi.moji.com/weather/china/", // 中国墨迹天气url,
  EmianService: env.EmianService, // 发送者邮箱厂家
  EamilAuth: {
    // 发送者邮箱账户用户名及密码
    user: env.EamilAuth_user,
    pass: env.EamilAuth_pass
  },
  EmailFrom: "[email protected]", // 发送者昵称与邮箱地址
  EmailSubject: "一封暖暖的小邮件", // 邮件主题
  /**
   * @description: 收信人详细
   */
  EmailToArr: [
    {
      TO: "[email protected]", // 接收者邮箱地址
      CITY: "jiangsu", // 墨迹天气链接末尾城市代码
      LOCATION: "pukou-district" // 墨迹天气链接末尾详细地区代码
    },
    {
      TO: "[email protected]",
      CITY: "jiangsu",
      LOCATION: "kunshan"
    }
  ],
  //每日发送时间
  SENDDATE: "58 15 8 * * *"
};

运行

yarn start

优化

根据 Vincedream提供的思路 进行了代码重构

1. 代码结构优化

├─config
│      index.js #配置
│
├─email
│      index.js #发送邮件模块
│
├─superagent
│      index.js #获取天气及ONE 数据
│
├─utils
│      index.js #通用工具函数
│      superagent.js #请求发送封装
│
├─view
|        index.js #生成邮件样式模块
|        index.njk #邮件样式模板模块
│  .env.example #.env
│  index.js #服务启动模块
│  schedule.js #定时模块
│  test.js #模板样式调试模块
│  yarn.lock
│  .gitignore
│  LICENSE
│  package.json
│  README.md

2. 隐私隐藏并忽略提交

发送者的邮箱过于隐私 所以放进了 .env文件 作为环境变量

3. 异步处理

每个步骤 都基于 ES6 的 的 async await进行异步

About

根据用户配置 爬取 one 和不同地区墨迹天气 每天定时多人发邮件

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published