1. binthec

    No comment

    binthec
Changes in body
Source | HTML | Preview
@@ -1,127 +1,127 @@
## 環境
- vagrant
- CentOS 6.7
- ruby 2.4.3
- (CakePHP2.10)
## やりたいこと
ローカルの環境からメールのテスト送信をしたい。mailcatcher だと便利だよ!と言われたので入れてみます。
## 手順
### 1. インストール
ruby は既に入ってます。
```
$ gem install mailcatcher
```
途中で一回怒られました。
```
.
.
Building native extensions. This could take a while...
ERROR: Error installing mailcatcher:
ERROR: Failed to build gem native extension.
.
.
.
checking for sqlite3.h... no
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
.
.
```
なんか足りないっぽいので、言われたとおりに不足してるのを入れてあげる。
```
$ sudo yum install sqlite-devel
```
すると、今度は成功。
```
Done installing documentation for sqlite3, daemons, thin, skinny, mailcatcher after 2 seconds
5 gems installed
```
-### 起動
+### 2. 起動
```
$ mailcatcher
Starting MailCatcher
==> smtp://127.0.0.1:1025
/home/vagrant/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/thin-1.5.1/lib/thin/server.rb:104: warning: constant ::Fixnum is deprecated
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
```
-### ブラウザで確認
+### 3. ブラウザで確認
んで、メール受信画面をブラウザで見ようと思って、はたと気がついた。
これ……Vagrant上じゃん……?
http://127.0.0.1:1080
って書いてあるけど、このURLで見られるわけないじゃん……?
ためしにvagrantに割り振ってある 192.168.33.40:1080 にアクセスしてみるも、見られない。
調べて見ると、ポートを指定して mailcatcher を起動するやり方があるらしい。ので、それをやろうと思ったら。
```
$ mailcatcher --http-ip 192.168.33.40
Starting MailCatcher
~~> ERROR: Something's using port 1025. Are you already running MailCatcher?
==> smtp://127.0.0.1:1025
==> http://192.168.33.40:1080
```
既に1050ポート使われてるんですけど、って怒られた。うん、知ってた。
一回 mailcatcher 落とそうと思ったら、どうやらPID調べて kill しないといけないらしい……?
ので、とりあえずPID調べてkillする。
```
$ netstat -tulpn | grep :1025
$ kill -9 6253
```
そして、今度はIPアドレスを指定して起動。
```
$ mailcatcher --http-id=192.168.33.40
```
ブラウザでアクセスしてみます。
http://192.168.33.40:1080
![スクリーンショット 2018-01-29 14.05.36.png](https://qiita-image-store.s3.amazonaws.com/0/152333/5359d082-3056-502f-2131-9eeaaac00bbd.png)
出来たー!
-## メール送信の設定
+## ついで:メール送信の設定
CekePHP2.10の場合、メール設定はこんな感じ。
ポートを1025に指定したら良いようです。
```
class EmailConfig
{
public $mailcatcher = array(
'transport' => 'Smtp',
'from' => 'example@hoge.com',
'host' => '127.0.0.1',
'port' => 1025,
'timeout' => 30,
'client' => null,
'log' => true,
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
'template' => 'default',
'layout' => 'default',
);
}
```
## 参考
https://qiita.com/nanasess/items/8194ae76c1b94c9a7bb9