任何從事 Web 開發足夠長時間的人都熟悉測試電子郵件的困難,因為許多應用程式出於某種原因需要發送電子郵件的能力。無論是用於身份驗證、通知還是其他任何事情,電子郵件都是網路的重要組成部分,就像過去幾十年一樣。
問題是測試電子郵件發送是一件痛苦的事情,對於大多數開發人員來說,這意味著在他們的個人電子郵件帳戶上設定 SendGrid、Mailgun 或啟用 SMTP。此外,一旦你開始實際發送電子郵件,你就必須在測試時處理它們堵塞你的收件匣的問題。
當然有很多方法可以解決這個問題。僅舉幾例:
雖然這些都是我嘗試過的有效解決方案(除了設定本地郵件伺服器),但它們都有自己的缺點。
例如,使用您的個人電子郵件帳戶對於快速而骯髒的解決方案非常有用,但當您測試大量電子郵件時,它的擴展性不佳。設定本機郵件伺服器有點複雜,雖然它確實可以擴展,但它為您的開發環境增加了另一層複雜性。使用電子郵件服務是一個很好的中間立場,但它為您的專案增加了另一個依賴性,並且可能會產生額外的成本。
基於這些原因以及其他原因,我一直致力於 PostPilot,這是一個受 Mailpit 和 Laravel Herd 啟發的免費開源電子郵件測試工具。
對於那些不知道的人來說,Herd 開發人員不久前作為Laravel 堆疊的一部分解決了這個問題,他們創建了一個漂亮的GUI,列出了已發送的電子郵件並允許您查看它們並與之交互。這是一個漂亮的解決方案,並且讓花 100 美元購買 Herd Pro 許可證幾乎是值得的(Herd 的其他部分則從幾乎肯定到肯定)。不幸的是,它不是免費的,不是開源的,僅在 macOS 和 Windows 上可用,並且主要用於 Laravel 生態系統。
與 Mailpit 一樣,PostPilot 是用 Go 編寫的,具有漂亮的 UI、通知以及與傳入電子郵件互動的功能。與 Mailpit 不同,PostPilot 是一個 GUI 應用程序,而不是具有 Web 介面的無頭伺服器。我不會說哪個更好或更差,但就偏好而言,它們確實迎合了不同的受眾。
PostPilot 正處於非常活躍的開發階段,並且仍處於早期階段。我剛剛發布了 0.1.2 版本,這是第一個實際版本,到目前為止我已經成功地為 Linux 和 Windows 建立了建置過程。截至目前,在 macOS 上運行 PostPilot 的建議方法是從原始碼建置它。一旦我能夠負擔得起 Apple 開發者帳戶和 Windows 簽名證書,我就會開始為這兩個平台開發安裝程式。
我接下來要做的事情是為開發過程提供更好的文檔,然後我將嘗試從 Mailpit 中獲取一些更流行的功能,例如 SpamAssassin 集成以及基於以下內容過濾電子郵件的能力一定的標準。
如果您有興趣關注或貢獻,您可以在 GitHub 上找到該項目,如果您想幫助我建立 Windows 和 macOS,您可以隨時在 Patreon、Github 贊助商上支持我,或 Ko-Fi。
以上是認識郵政飛行員的詳細內容。更多資訊請關注PHP中文網其他相關文章!