← 全部的單
GitHub #214 ↗
註冊與帳號・營運
讓 Slate 的系統信改用 Farside 自己的寄件網域(notify.farside.work)寄出、寄件人顯示 Farside——第一個要接的是忘記密碼信,之後才輪到告警和任務通知。
#214 Email 寄信功能:建議用 Resend + 獨立子網域
狀態
卡住
誰在做
宜芳分派
做到哪
前置都做完了:寄件網域在 Resend 驗證通過(10/02)、用 API 寄的管道測試信 delivered(10/02)、正式專用金鑰建好並測過 SMTP 登入(10/04)。只剩「把 Supabase 的寄信設定切到 Resend」還沒做。10/04 讀設定時發現現在其實是走公司 Gmail 的自訂 SMTP,不是當初以為的內建寄信,所以回頭請負責人再確認一次。這張不改程式,沒有 PR。
卡在
負責人還沒回 10/04 那一題:要不要把系統寄信從現在的 Gmail 換成 Resend(寄件人改成 Farside)。10/04 晚上已經提醒過一次。
下一步
宜芳請負責人在
#214
回「同意」或「不同意」。同意:開發者先在單上公告切換時間 → 用 Supabase 管理 API 切換並讀回確認 → 負責人親自收一封忘記密碼信驗收。不同意:維持 Gmail,留言記下決定後結案。不管哪一種,宜芳順便決定告警、任務通知要不要另開需求單。
提醒:
① 單子本文的「現況」已經過期:本文說「系統完全沒有寄信能力」,10/04 查到 Supabase 早就設了自訂 SMTP 走公司 Gmail,忘記密碼信一直寄得出去;本文提到設定頁那個假的「Email 通知」開關,在目前 main 的程式碼裡我找不到。② 10/04 中午那則「一般使用者可能收不到信、開放註冊前一定要改」是錯的,同一天 14:20 已自己更正,不用被它嚇到。③ 負責人 10/02 說切換會影響「忘記密碼與邀請信」,但程式裡邀請根本不寄信(只產生連結),所以實際受影響的只有忘記密碼信(登入頁與設定頁兩個入口)。④ 負責人 10/01 在這張回的四題(先做平台會員/帳單、付款主體按個人、停用成員連外部 AI 權杖一起停、法務會計確認人)是
#240
的題目,已經整理進
#248
最上面的帳務清單,看那裡就好。⑤ 跟
#257
(開放自行註冊)有關:註冊打開之後寄信量會變大,如果正式站有開 Email 確認,註冊確認信也走同一個寄信設定——到時 Gmail 每小時 60 封的上限可能不夠,這是換 Resend 的另一個理由,但單上沒人這樣主張過。⑥ 標籤「待負責人裁決」是對的,唯一卡住的就是 Gmail → Resend 那一題。
一步一步 18
已經定的 10
還沒定的 4
怎麼驗收 5
這張不做 6
這張要解決什麼
忘記密碼、登不進 Slate 的使用者(之後也包括要收告警、任務通知的人)
,在登入頁按「忘記密碼?」要一封重設信。現在這封信由公司 Gmail 代寄,寄件人是舊的 Ocean Lab AI 名稱,而且每小時最多 60 封。——要能 收到一封寄件人顯示 Farside、從 notify.farside.work 寄出的重設密碼信,點連結設好新密碼就能登入。
一步一步
18 步
負責人
回覆單子本文問的四件事:服務商、要不要用子網域、子網域叫什麼、先接哪一種信
定案:用 Resend、用子網域 notify.farside.work、順序是忘記密碼 → 告警 → 任務通知(9/29)。之後負責人把 Cloudflare 權限給了開發者,DNS 由開發者自己設
開發者(委託處理)
在 Resend 建寄件網域,在 Cloudflare 加四筆驗證用的 DNS 紀錄(DKIM、SPF、回報信的 MX、一筆 CNAME)
Resend 回報 notify.farside.work verified(10/02 完成)。網站原本的網域、主網域收信設定都沒動;也關掉了開信與點擊追蹤
開發者(委託處理)
直接呼叫 Resend API 寄一封普通測試信(不是忘記密碼信)
Resend 狀態 delivered(10/02)——只證明「這個網域寄得出去」,不代表 Slate 的忘記密碼信已經改走這裡
開發者(委託處理)
照負責人 10/02 第 4 點另開一把正式專用的 Resend 金鑰:只能寄信、只限 notify.farside.work,不沿用本機那把;用它試登入 Resend 的 SMTP
SMTP 登入成功,拿它查網域被拒——確認權限真的只剩寄信(10/04)。金鑰值私下保管,沒貼在 GitHub
開發者(委託處理)
用 Supabase 管理 API 讀正式站現在的寄信設定
發現早就設了自訂 SMTP、走公司 Gmail(寄件人名稱是舊的 Ocean Lab AI、每小時上限 60 封),忘記密碼信一直寄得出去。這跟 10/02 裁決時以為的「從內建寄信改走 Resend」前提不同,所以回頭問負責人(10/04)
負責人
回答:還要不要把系統寄信從 Gmail 換成 Resend、寄件人改成 Farside
同意 → 往下走;不同意 → 維持 Gmail,本單記下決定後結案。現在卡在這一步
開發者(委託處理)
切換之前先在
#214
留言公告時間(
#248
第 2 條:動正式環境前先講)
大家知道從什麼時候起,忘記密碼信的寄件人會變成 Farside
開發者(委託處理)
用 Supabase 管理 API 把自訂 SMTP 改成 Resend(smtp.resend.com、port 465、帳號 resend、密碼用正式專用金鑰、寄件人 Farside <noreply@notify.farside.work>),改完再讀回一次確認
之後所有從 Supabase 寄出的忘記密碼信都改由 Resend 寄。切換後會回不到 Gmail(API 讀不到 Gmail 密碼,要回去得請那個 Gmail 信箱的主人重新產生應用程式密碼)
使用者(忘記密碼的人)
打開 Slate 登入頁,按密碼欄下面的「忘記密碼?」
進到「重設密碼」頁
登入
登入
Email(you@example.com)
密碼
記住我——關掉瀏覽器後仍保持登入;共用電腦請不要勾
忘記密碼?
登入
使用者(忘記密碼的人)
輸入自己的 Email,按「寄出重設連結」
格式不對會當場提示;格式對就送出
重設密碼
重設密碼
輸入你的 email,我們會寄一封重設連結給你
Email
寄出重設連結(送出中顯示「寄送中…」)
想起來了?回到登入
系統
請 Supabase 寄重設密碼信;Supabase 透過切換後的 SMTP(Resend)寄出
不管這個 Email 有沒有註冊過,畫面都顯示同一句話——分開講等於讓任何人拿這個表單查誰是會員
重設密碼(已寄出)
如果 你輸入的 Email 是已註冊的帳號,重設連結已經寄出。信可能會進到垃圾郵件匣。連結有時效,過期就回來再寄一次。
回到登入
使用者(忘記密碼的人)
打開自己的信箱找那封信(收件匣或垃圾郵件匣)
看到寄件人是 Farside 的重設密碼信
信箱裡的重設密碼信
寄件人:Farside <noreply@notify.farside.work>
主旨與內文:沿用 Supabase 上現有的模板(長什麼樣子,單上沒有人確認過)
重設密碼的連結(有時效、只能用一次)
使用者(忘記密碼的人)
點信裡的連結
系統先確認連結(畫面短暫顯示「確認連結中…」),有效就帶到「設定新密碼」
設定新密碼
設定新密碼
輸入兩次新密碼,確認沒有打錯
新密碼(至少 8 個字元)
再輸入一次
設定新密碼
使用者(忘記密碼的人)
輸入兩次新密碼,按「設定新密碼」
密碼改好,直接登入進去
設定新密碼(完成)
密碼已更新,正在帶你進去…
使用者(忘記密碼的人)
(例外)點到過期或已經用過的連結
畫面說明原因,給一個回去重寄的連結
設定新密碼(連結失效)
設定新密碼
這個連結沒辦法用了
重設連結已經過期或被用過了。連結有時效,而且只能用一次。回到忘記密碼頁重新寄一封就好。
重新寄送
已登入的使用者
(第二個入口)到「設定 → 個人帳戶」,在「變更密碼」區塊按「寄送重設密碼連結」
畫面顯示已寄出;這封信跟登入頁那封走同一條路,一樣由 Resend 寄
設定 → 個人帳戶 → 變更密碼
變更密碼
忘了目前的密碼?寄一封重設密碼的信到 你的 Email。
寄送重設密碼連結
已寄出 重設密碼的連結已寄到 你的 Email。
開發者(委託處理)
(出狀況時)切換後寄不出來
照負責人 10/02 第 2 點:先關掉自訂 SMTP、退回 Supabase 內建寄信,再查原因,並在
#214
留言。注意:內建寄信只寄得到專案團隊成員的信箱,退回的那段時間一般使用者收不到重設信
負責人
親自在登入頁要一封忘記密碼信、確認收得到;開發者同時從 Resend 後台確認那封信的投遞紀錄
通過就可以結案。告警、任務通知要不要接、怎麼接,另外決定(見「還沒定的」)
已經定的
10 條
寄信服務用 Resend
負責人 9/29 留言(
#214
)
系統信用獨立子網域寄,不用公司主網域;子網域定為 notify.farside.work
負責人 9/29 留言(
#214
);本文 10/3 更正
要接的順序:忘記密碼 → 告警 → 任務通知
負責人 9/29 留言(
#214
)
寄件人是 Farside <noreply@notify.farside.work>
負責人 10/02 回覆第 1 點(
#214
)
Supabase 自訂 SMTP 與正式寄信憑證由委託處理的開發者設定;動手前要先在
#214
留言公告時間
負責人 10/02 回覆第 2 點(
#214
)、
#248
規矩第 2 條
切過去寄不出來,先切回 Supabase 內建寄信,再查原因
負責人 10/02 回覆第 2 點(
#214
)
測試信只寄負責人與開發者自己的信箱,不寄任何客戶;驗收由負責人親自收一封忘記密碼信
負責人 10/02 回覆第 3 點(
#214
)
正式環境另開一把 Resend 金鑰:只開寄信、限定 notify.farside.work,不沿用本機那把;值不貼 GitHub,私下給並寫明設在哪裡
負責人 10/02 回覆第 4 點(
#214
)、
#248
規矩第 7 條
開發者的 Cloudflare 帳號要自己確認有開兩步驟驗證(這個權限碰得到整個帳戶)
負責人 10/02 兩則留言(給權限那則、回覆第 5 點,
#214
)
客服信箱 support.farside.work、爭議款信箱 issue.farside.work 是收信用的,不屬於這張單
宜芳 10/03 留言(
#214
)
還沒定的
4 題
還要不要把系統寄信從現在的 Gmail 換成 Resend、寄件人改成 Farside?(10/02 裁決時以為現況是內建寄信,10/04 才查到其實是 Gmail)
同意:照原計畫切到 Resend,寄件人變 Farside
不同意:維持 Gmail,這張記下決定後結案
建議:
開發者在單上建議「同意」:寄件人與網域統一成 Farside(10/02 已定)、網域已驗證,也不必再借公司信箱寄系統信。這是開發者的建議,還不是裁決
誰裁:負責人
切換後萬一出事,退路是什麼?10/02 定的退路是回 Supabase 內建寄信,但內建只寄得到團隊成員,等於退回那段時間一般使用者收不到重設信;要回 Gmail 又得請 Gmail 信箱主人重新產生應用程式密碼
照 10/02:退回內建寄信,接受那段時間一般使用者收不到
切換前先請 Gmail 信箱主人備好新的應用程式密碼,出事可以回 Gmail
誰裁:負責人
告警、任務通知(順序第 2、3 名)要留在這張,還是忘記密碼驗收完就結案、另開需求單?兩者都還沒有設計:誰會收到、什麼事件觸發、寄件人用哪個
留在
#214
繼續做
#214
在忘記密碼驗收後結案,告警與任務通知照需求範本另開單
建議:
開發者 10/04 凌晨的結案檢核清單把這張的驗收收斂到忘記密碼(「驗收通過即結案」),另開單比較清楚;由宜芳決定
誰裁:宜芳
忘記密碼信的主旨和內文要不要改成中文、Farside 的口吻?現在沿用 Supabase 上的模板,正式站實際長什麼樣子單上沒人確認過
維持現在的模板
改成中文、Farside 品牌的模板
建議:
驗收那封信時順便看內文,再決定要不要另開單
誰裁:負責人
怎麼驗收
5 項
前提:
負責人已回「同意」,開發者已在
#214
公告切換時間,並回報切換完成、讀回的設定是 smtp.resend.com、寄件人 Farside
操作:
負責人開一個無痕視窗進 Slate 登入頁 → 按「忘記密碼?」→ 輸入自己帳號的 Email → 按「寄出重設連結」
應該看到:
畫面顯示「如果 … 是已註冊的帳號,重設連結已經寄出」;幾分鐘內收到信,寄件人顯示 Farside、地址是 noreply@notify.farside.work。記下信是落在收件匣還是垃圾郵件匣
前提:
收到上一條那封信
操作:
點信裡的連結,輸入兩次新密碼,按「設定新密碼」
應該看到:
先看到「設定新密碼」頁,送出後顯示「密碼已更新,正在帶你進去…」並登入成功;登出後用新密碼可以再登入(不想改密碼的話,只確認連結能開到「設定新密碼」頁即可)
前提:
同一位負責人已登入
操作:
到「設定 → 個人帳戶」,在「變更密碼」區塊按「寄送重設密碼連結」
應該看到:
畫面顯示「已寄出 重設密碼的連結已寄到 …」,信箱也收到一封寄件人是 Farside 的信
前提:
上面兩封信都寄出之後
操作:
開發者到 Resend 後台查這兩封信
應該看到:
兩封都是 delivered、寄件網域是 notify.farside.work;整個測試沒有寄到負責人與開發者以外的信箱
前提:
負責人回的是「不同意」
操作:
負責人照第一條的步驟在登入頁要一封忘記密碼信
應該看到:
照樣收得到信(寄件人是現在的 Gmail 設定),單上有留言記下「維持 Gmail」的決定,然後結案
這張不做
客服信箱 support.farside.work、爭議款信箱 issue.farside.work(收信用、DNS 設定不同;宜芳 10/03 說不屬於這張)
帳號管理、平台會員與帳單、機構成員停用/恢復(在
#240
與它拆出去的單)
邀請改成系統自動寄信——現在邀請只產生連結、交給邀請的人自己用 LINE 或 email 傳;程式註解寫「等接了 Resend 再自動化」,但沒有人裁過要做
不追蹤收件人有沒有開信、點連結(Resend 網域設定時已關掉)
不動公司主網域的收信設定與網站路由
不寄任何客戶測試信
相關的單
#240
#241
#248
#257