send-email.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Send Email on Holidays Update
  2. on:
  3. schedule:
  4. # 从 00:00 到 12:00 UTC,每 2 小时运行一次(对应北京时间 08:00 到 20:00)
  5. - cron: '0 0-12/2 * * *'
  6. jobs:
  7. notify:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout code
  11. uses: actions/checkout@v4
  12. - name: Setup Node.js
  13. uses: actions/setup-node@v4
  14. with:
  15. node-version: "20"
  16. registry-url: "https://registry.npmjs.org"
  17. - name: Install dependencies
  18. run: npm install
  19. - name: Run script
  20. id: run-script
  21. run: npm run fetch ${{ vars.HOLIDAYS_YEAR }}
  22. - name: Read holidays file
  23. id: read-holidays
  24. run: |
  25. echo "HOLIDAYS_CONTENT=$(cat holidays.html)" >> $GITHUB_ENV
  26. env:
  27. HOLIDAYS_CONTENT: $(cat holidays.html)
  28. - name: Send notification if holidays has value
  29. if: ${{ steps.run-script.outputs.holidays != '' }}
  30. uses: dawidd6/action-send-mail@v3
  31. with:
  32. server_address: smtp.gmail.com
  33. server_port: 587
  34. username: ${{ secrets.EMAIL_USERNAME }}
  35. password: ${{ secrets.EMAIL_PASSWORD }}
  36. subject: "${{ vars.HOLIDAYS_YEAR }} Holidays Update"
  37. to: hi@yaavi.me
  38. from: Holidays Update
  39. html_body: ${{ env.HOLIDAYS_CONTENT }}