vagrant postfix 설정 로컬에서 메일 송신(비망록)

5788 단어 postfixVagrantgmail

vagrant postfix 설정 로컬에서 메일 보내기



◆하고 싶은 일
vagrant의 로컬 환경에서 gmail을 통해 이메일을 보내고 싶습니다.

◆사용 도구
vagrant
postfix
gmail

◆ 설정 방법



※이미 vagrant로 여러가지 툴을 인스톨 하고 있는 상태로부터 스타트
※백업은 취득한 상태

설정 1
◆現在のpostfixの確認
sudo rpm -qa | grep postfix

◆現在のpostconfの確認
/usr/sbin/postconf -a

◆現在のcyrus-saslの確認(3つくらいしかないはずなので↓をインストールする)
sudo rpm -qa | grep cyrus-sasl

◆必要なツールのインストール
sudo yum -y install cyrus-sasl-md5 cyrus-sasl-plain


◆/etc/postfix/main.cfファイルの編集

# 116行目 inet_interfaces = localhostを編集
inet_interfaces = all

# 119行目 inet_protocols = allを編集
inet_protocols = ipv4

# 318行目 以下追加
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_sasl_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt

vim sasl_passwd 파일 작성



설정 2
[smtp.gmail.com]:587 [email protected]:パスワード
※Gmailパスワードは2段階認証のパスワードを使用

※/etc/postfixにて以下コマンド実行→sasl_passwdファイルをdb化
postmap sasl_passwd

※上記のmain.cfで余計な半角スペースなどが入っているとうまくビルドされない。

service postfix start(루트 권한으로 실행)



리눅스
service postfix start

mail 명령으로 테스트 메일 보내기



mail 명령
[root@vagrant-centos65 postfix]# mail メールアドレス
Subject: test
test
.
EOT
[root@vagrant-centos65 postfix]#

전송 결과



maillog
◆ログに「status=sent」と出ており送信OK

Jul 20 14:47:36 vagrant-centos65 postfix/smtp[4148]: 7348665CEE: to=<[email protected]>, relay=smtp.gmail.com[74.125.23.109]:587, delay=4.3, delays=0.05/0.28/2.2/1.8, dsn=2.0.0, status=sent (250 2.0.0 OK 1437371256 a10sm19321215pdn.57 - gsmtp)
Jul 20 14:47:36 vagrant-centos65 postfix/qmgr[4142]: 7348665CEE: removed

증거





미래의 도전



avast가 경고를 내고 있기 때문에 앞으로는 그쪽을 제외하도록 한다.

◆ 빠진 곳



postfix main.cf 파일 설정에서
불필요한 부분을 편집해 버렸다고 생각합니다만 메일을 송신할 수 없었습니다.
아마 inet_interfaces 이 부분의 설정이 불필요했을까. . .
자세한 내용은 모르겠습니다. . .

※ 만약을 위해 이하 로그를 첨부해 둡니다.

maillog
Jul 18 14:00:59 localhost postfix/pickup[21524]: 4BFB920060E: uid=0 from=<root>
Jul 18 14:00:59 localhost postfix/cleanup[21529]: 4BFB920060E: message-id=<[email protected]>
Jul 18 14:00:59 localhost postfix/qmgr[21525]: 4BFB920060E: from=<[email protected]>, size=447, nrcpt=1 (queue active)
Jul 18 14:00:59 localhost postfix/error[21531]: 4BFB920060E: to=<[email protected]>, relay=none, delay=0.03, delays=0.02/0/0/0, dsn=5.0.0, status=bounced ([smtp.gmail.com]:587)
Jul 18 14:00:59 localhost postfix/cleanup[21529]: 505B0200631: message-id=<[email protected]>
Jul 18 14:00:59 localhost postfix/qmgr[21525]: 505B0200631: from=<>, size=2248, nrcpt=1 (queue active)
Jul 18 14:00:59 localhost postfix/bounce[21532]: 4BFB920060E: sender non-delivery notification: 505B0200631
Jul 18 14:00:59 localhost postfix/qmgr[21525]: 4BFB920060E: removed
Jul 18 14:00:59 localhost postfix/local[21534]: 505B0200631: to=<[email protected]>, relay=local, delay=0.01, delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Jul 18 14:00:59 localhost postfix/qmgr[21525]: 505B0200631: removed

php.ini의 편집 장소



php.ini
336行付近:expose_php = On → expose_php = Off

※phpの使用メモリ設定
396行付近:memory_limit = 126M → memory_limit = 2M

※エラーLevelの設定 
453行付近:error_reporting = E_ALL 追加

※確かエラーの表示
469行付近:display_errors = Off → display_errors = On

※エラーログの出力(apacheの設定も必要のようです)
577行付近:error_log = syslog → error_log = /var/log/php.log

※画像の一時アップロードディレクトリ指定
789行付近:upload_tmp_dir = /var/www/html/php/tmp/

※画像ファイルアップロードマックサイズ
791行付近:upload_max_filesize = 2M → upload_max_filesize = 2000M

※画像ファイルのアップロード設定 複数アップの設定が可能(とりあえず50ファイルとしてみます。)
794行付近:max_file_uploads = 20 → max_file_uploads = 50

※時刻合わせ(タイムゾーンの設定)
869行付近:date.timezone = Asia/Tokyo

※postfixとの連携設定(gmail経由)
950行付近:SMTP = localhost → SMTP = smtp.gmail.com

※ポート変更
952行付近:smtp_port = 25 → smtp_port = 587

※送信するメールアドレスの設定(メールアドレスは任意で設定)
959行目付近:sendmail_from = [email protected] 追加

※メールログの設定はなし(/var/log/maillogを確認すればよい)

※自動でセッションを取得する設定(任意で設定 1 にすると自動的にセッションを取得する)
1376行付近:session.auto_start = 0 

※文字コードの設定 基本的にコメントアウトをはずす(UTF8が基本)
1632行目付近:mbstring.language = Japanese
1638行目付近:mbstring.internal_encoding = UTF-8
1642行目付近:mbstring.http_input = auto
1647行目付近:mbstring.http_output = UTF-8
1655行目付近:mbstring.encoding_translation = On
1660行目付近:mbstring.detect_order = auto
1665行目付近:mbstring.substitute_character = none;
1676行目付近:mbstring.func_overload = 0

PHP 사용 메모리에 관한 자료

expose_php 설정에 대해 설명

errorlog 출력 정보

errorlog의 Level 설정

errorLevel 유형

좋은 웹페이지 즐겨찾기