1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LocalでRailsメールテスト開発環境構築とメールの内容確認

Posted at

LocalでRailsメールテスト開発環境構築とメールの内容確認

前提:

  • VirtualBox
  • 仮想マシン上でpostfixとdovcotをつかいます
  • ゲストOSはcentos7.2
  • メールは仮想マシンから外にでない
  • Railsは既に入っている

(参考)
閉じられたネットワーク向けのテスト用メールサーバーを構築する
上記サイトがわかりやすいです。セットアップは上記を見ればいいかも

システムのアップデート

yum -y update

SELinux無効

vi /etc/selinux/config
SELINUXTYPE=disabled

Postfixの設定(送信用)

インストールして自動起動するようにします。

sudo yum -y install postfix
sudo service postfix start
sudo chkconfig postfix on

Postfixの設定を変更します。
vi /etc/postfix/main.cf

# 自身のドメイン設定
mydomain = mail-server.test
myorigin = $mydomain

# ローカルホスト以外からも受け付けます
inet_interfaces = all

# ipv4しか使用しないため
inet_protocols = ipv4

# 宛先ドメインに自身のドメインを追加します
mydestination = $myhostname, localhost.$mydomain, localhost, mail-server.test

# 初めはローカルホストで動かすため
mynetworks = localhost

# メールボックスの形式設定
home_mailbox = Maildir/

設定反映のためにPostfixを再起動、

service postfix restart

  • メールテスト用のアカウントを1つ作成
# user1というアカウントを作成します。
useradd user1 -s /sbin/nologin
# 任意のパスワード入力
passwd ****

# user1が書き込みできるようにします
chmod 777 /var/spool/mail

sudo yum -y install telnet

Dovecot(POP3,IMAPサーバ)

# インストール
yum -y install dovecot

# 起動
service dovecot start

# 自動起動
chkconfig dovecot on

vi /etc/dovecot/dovecot.conf

  • 設定ファイル
# 使用するプロトコル列挙
  protocols = imap pop3 lmtp

# IPv4のみ使用。v6へのバインドを行わない
  listen = *

vi /etc/dovecot/conf.d/10-mail.conf

# ファイルの場所を指定
  mail_location = maildir:~/Maildir

vi /etc/dovecot/conf.d/10-auth.conf

# 平文認証の許可
  disable_plaintext_auth = no

  auth_mechanisms = plain login

設定反映のため、再起動

service dovecot restart

Railsの設定を確認します。

view ./config/environments/development.rb

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address: "localhost",
  port: 25,
  enable_starttls_auto: false
}

テスト実施/メールの内容確認

(宛先 user1@mail-server.testで)メール発信テストすると
/home/user1/Maildir/newにファイルができます。
(なければ/home/user1/Maildir/cur にはいってるかも)

su root -して

cd /home/user1/Maildir/new; chmod a+rw *; cp 対象mail /tmp/test1
exit;

vi /tmp/test1してファイルのbase64エンコード部分だけ別ファイルに切り出します。
できたファイルは下記で開いてメールの内容を確認できます。

cat /tmp/betsu_file | base64 -d

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?