Skip to content

Commit 1f9d968

Browse files
authored
Merge pull request #9 from ElieenAndBella/main
添加邮箱支持
2 parents bc69365 + 769e5fa commit 1f9d968

File tree

3 files changed

+48
-9
lines changed

3 files changed

+48
-9
lines changed

.github/workflows/main.yml

+4
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ jobs:
2222
- name: 'Start Sign'
2323
env:
2424
BDUSS: ${{ secrets.BDUSS }}
25+
HOST: ${{ secrets.HOST }}
26+
FROM: ${{ secrets.FROM }}
27+
TO: ${{ secrets.TO }}
28+
AUTH: ${{ secrets.AUTH }}
2529
run: python main.py

README.md

-9
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,15 @@
88

99
1. Fork 本仓库,然后点击你的仓库右上角的 Settings,找到 Secrets 这一项,添加一个库秘密变量。其中 `BDUSS` 存放你的 BDUSS。支持同时添加多个帐户,BDUSS 之间用 `#` 隔开即可。
1010

11-
![添加库秘密变量](/img/new_repository_secret.png)
12-
![添加BDUSS](/img/add_BDUSS.png)
13-
1411
2. 设置好环境变量后点击你的仓库上方的 `Actions` 选项,第一次打开需要点击 `I understand...` 按钮,确认在 Fork 的仓库上启用 GitHub Actions 。
1512

1613
3. 任意发起一次commit,可以参考下图流程修改readme文件。
1714

1815
- 打开`README.md`,点击修改按钮
19-
20-
![修改README](/img/edit.png)
21-
2216
- 修改任意内容,这里在末尾插入了空格。移动到最下面,点击提交。
2317

24-
![添加空行](/img/update.png)
25-
2618
4. 至此自动签到就搭建完毕了,可以再次点击`Actions`查看工作记录,如果有`Baidu Tieba Auto Sign`则说明workflow创建成功了。点击右侧记录可以查看详细签到情况。
2719

28-
![查看Action](/img/check.png)
2920

3021

3122

main.py

+44
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
import logging
88
import random
99

10+
import smtplib
11+
from email.mime.text import MIMEText
12+
13+
1014
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
1115
logger = logging.getLogger(__name__)
1216

@@ -15,6 +19,12 @@
1519
TBS_URL = "http://tieba.baidu.com/dc/common/tbs"
1620
SIGN_URL = "http://c.tieba.baidu.com/c/c/forum/sign"
1721

22+
# EMAIL
23+
HOST = os.environ['HOST']
24+
FROM = os.environ['FROM']
25+
TO = os.environ['TO'].split('#')
26+
AUTH = os.environ['AUTH']
27+
1828
HEADERS = {
1929
'Host': 'tieba.baidu.com',
2030
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36',
@@ -167,6 +177,39 @@ def client_sign(bduss, tbs, fid, kw):
167177
res = s.post(url=SIGN_URL, data=data, timeout=5).json()
168178
return res
169179

180+
def send_email(sign_list):
181+
if HOST is None or FROM is None or TO is None or AUTH is None:
182+
logger.info("未配置邮箱")
183+
return
184+
length = len(sign_list)
185+
subject = f"{time.strftime('%Y-%m-%d', time.localtime())} 签到{length}个贴吧"
186+
body = """
187+
<style>
188+
.child {
189+
background-color: rgba(173, 216, 230, 0.19);
190+
padding: 10px;
191+
}
192+
193+
.child * {
194+
margin: 5px;
195+
}
196+
</style>
197+
"""
198+
for i in sign_list:
199+
body += f"""
200+
<div class="child">
201+
<div class="name"> 贴吧名称: { i['name'] }</div>
202+
<div class="slogan"> 贴吧简介: { i['slogan'] }</div>
203+
</div>
204+
<hr>
205+
"""
206+
msg = MIMEText(body, 'html', 'utf-8')
207+
msg['subject'] = subject
208+
smtp = smtplib.SMTP()
209+
smtp.connect(HOST)
210+
smtp.login(FROM, AUTH)
211+
smtp.sendmail(FROM, TO, msg.as_string())
212+
smtp.quit()
170213

171214
def main():
172215
b = os.environ['BDUSS'].split('#')
@@ -181,6 +224,7 @@ def main():
181224
time.sleep(random.randint(1,5))
182225
client_sign(i, tbs, j["id"], j["name"])
183226
logger.info("完成第" + str(n) + "个用户签到")
227+
send_email(favorites)
184228
logger.info("所有用户签到结束")
185229

186230

0 commit comments

Comments
 (0)