使用 Ubuntu 的 Mailcatcher
这次我们将在虚拟的Ubuntu上运行Mailcatcher。
简要来说
$ sudo apt install -y ruby ruby-dev build-essential libsqlite3-dev
$ sudo gem install mailcatcher
$ sudo mailcatcher --ip=0.0.0.0
当然,光是Ruby是不行的。
安裝Mailcatcher需要許多套件,僅僅執行sudo apt install -y ruby並不能成功。
當然會產生錯誤,但是作為一個渣渣菜鳥,我看見錯誤訊息卻不知道缺少了什麼,因此參考了這篇文章。
- how to install mail catcher in ubuntu » Techrunnr
根据这篇文章所述,所需的软件包是这些。
-
- ruby
-
- ruby-dev
-
- libsqlite3-dev
-
- build-essential
- software-properties-common
即使不安装 software-properties-common,也可以成功安装软件(我尝试逐个安装)。然而,就是这样的结果。
$ sudo apt install -y ruby ruby-dev build-essential libsqlite3-dev
$ sudo gem install mailcatcher
启动
只要按照手册上的步骤操作,启动就没问题的。
$ sudo mailcatcher --ip=0.0.0.0
我想从外部访问Mailcatcher的Web邮箱,所以需要将IP地址设为0.0.0.0。这样,如果我的虚拟IP地址是192.168.56.101,我可以通过浏览器访问http://192.168.56.101:1080来阅读收到的邮件。
可以使用PHP
要使用PHP和Mailcatcher,必须在php.ini中配置sendmail_path。值得一提的是,Ubuntu中的php.ini路径因PHP版本和环境而异。例如,PHP 7.2的CLI/Apache模块各自的php.ini路径如下所示。
-
- CLI => /etc/php/7.2/cli/php.ini
- Apache => /etc/php/7.2/apache2/php.ini
本次测试中还通过命令行界面进行了发送测试,因此在上述两个方面都添加了以下描述。
sendmail_path = /usr/bin/env catchmail
结束(It has ended.)
我希望能够根据错误日志来确定所缺少的软件包。