質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

2回答

3326閲覧

EC-CUBEからSSL/TLSでメール送信ができない

OldRiver

総合スコア59

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

1クリップ

投稿2017/11/09 07:39

▼環境
[EC-CUBE] 3.0.15、新規インストール
[レンタルサーバ] さくらのクラウド
[OS] CentOS Linux release 7.3.1611
[PHP] PHP Version 5.6.31
[データベース] MySQL 5.7.19
[WEBサーバ] Apache/2.4.6 PHP/5.6.31
[メールサーバー] postfix 2.10.1 dovecot 2.2.10
[SSL] openssl 1.0.2k

▼現象
EC-CUBEでメールのSSL設定をしたあとお問い合わせや新規会員登録などからメール送信ができなくなりました。
thunderbirdからは問題なくメールの送受信ができます。

EC-CUBEのログにはエラー関係の出力がありませんが
/var/log/maillogにSSL_accept errorが出力されます。
SSL_accept errorについてネット調べた限りsslの設定の問題という情報があったのでここ数日メールの設定を見直していますがどこに問題があるか特定できていないため詳しい方教えてください。

postfix

1/var/log/maillog 2 3Nov 9 14:46:00 ホスト名 postfix/smtpd[5695]: initializing the server-side TLS engine 4Nov 9 14:46:00 ホスト名 postfix/smtpd[5695]: connect from サーバーのドメイン名[サーバーのIPアドレス] 5Nov 9 14:46:00 ホスト名 postfix/smtpd[5695]: setting up TLS connection from サーバーのドメイン名[サーバーのIPアドレス] 6Nov 9 14:46:00 ホスト名 postfix/smtpd[5695]: サーバーのドメイン名[サーバーのIPアドレス]: TLS cipher list "aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH" 7Nov 9 14:46:00 ホスト名 postfix/smtpd[5695]: SSL_accept:before/accept initialization 8Nov 9 14:46:30 ホスト名 postfix/smtpd[5695]: SSL_accept error from サーバーのドメイン名[サーバーのIPアドレス]: lost connection 9Nov 9 14:46:30 ホスト名 postfix/smtpd[5695]: lost connection after CONNECT from サーバーのドメイン名[サーバーのIPアドレス] 10Nov 9 14:46:30 ホスト名 postfix/smtpd[5695]: disconnect from サーバーのドメイン名[サーバーのIPアドレス]

EC

1/var/www/html/app/config/eccube/mail.yml 2 3mail: 4 transport: smtp 5 host: mail.サーバーのドメイン名 6 port: 465 7 username: info 8 password: STMPのパスワード 9 encryption: tls 10 auth_mode: plain 11 charset_iso_2022_jp: false 12 use_spool: true

postfix

1/etc/postfix/main.cf (文字数の都合でコメントを消しています) 2 3queue_directory = /var/spool/postfix 4command_directory = /usr/sbin 5daemon_directory = /usr/libexec/postfix 6data_directory = /var/lib/postfix 7mail_owner = postfix 8 9myhostname = mail.サーバーのドメイン名 10mydomain = サーバーのドメイン名 11myorigin = $mydomain 12 13inet_interfaces = all 14inet_protocols = all 15 16mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 17local_recipient_maps = 18unknown_local_recipient_reject_code = 550 19alias_maps = hash:/etc/aliases 20alias_database = hash:/etc/aliases 21home_mailbox = Maildir/ 22luser_relay = unknown_user@localhost 23smtpd_banner = $myhostname ESMTP unknown 24 25debug_peer_level = 2 26debugger_command = 27 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin 28 ddd $daemon_directory/$process_name $process_id & sleep 5 29 30sendmail_path = /usr/sbin/sendmail.postfix 31newaliases_path = /usr/bin/newaliases.postfix 32mailq_path = /usr/bin/mailq.postfix 33setgid_group = postdrop 34html_directory = no 35 36manpage_directory = /usr/share/man 37sample_directory = /usr/share/doc/postfix-2.10.1/samples 38readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES 39 40# add 41smtpd_sasl_auth_enable = yes 42smtpd_sasl_local_domain = $myhostname 43smtpd_recipient_restrictions = 44 permit_mynetworks 45 permit_sasl_authenticated 46 reject_unauth_destination 47message_size_limit = 10485760 48 49# add 50smtpd_use_tls = yes 51smtpd_tls_cert_file = /etc/pki/tls/certs/サーバーのドメイン名.2017.crt 52smtpd_tls_key_file = /etc/pki/tls/private/サーバーのドメイン名.2017.key 53smtpd_tls_CAfile = /etc/pki/tls/certs/dvcacert.cer 54smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache 55smtpd_tls_security_level = may 56smtpd_tls_loglevel = 2

postfix

1/etc/postfix/master.cf 2 3# 4# Postfix master process configuration file. For details on the format 5# of the file, see the master(5) manual page (command: "man 5 master"). 6# 7# Do not forget to execute "postfix reload" after editing this file. 8# 9# ========================================================================== 10# service type private unpriv chroot wakeup maxproc command + args 11# (yes) (yes) (yes) (never) (100) 12# ========================================================================== 13smtp inet n - n - - smtpd 14#smtp inet n - n - 1 postscreen 15#smtpd pass - - n - - smtpd 16#dnsblog unix - - n - 0 dnsblog 17#tlsproxy unix - - n - 0 tlsproxy 18#submission inet n - n - - smtpd 19# -o syslog_name=postfix/submission 20# -o smtpd_tls_security_level=encrypt 21# -o smtpd_sasl_auth_enable=yes 22# -o smtpd_reject_unlisted_recipient=no 23# -o smtpd_client_restrictions=$mua_client_restrictions 24# -o smtpd_helo_restrictions=$mua_helo_restrictions 25# -o smtpd_sender_restrictions=$mua_sender_restrictions 26# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject 27# -o milter_macro_daemon_name=ORIGINATING 28smtps inet n - n - - smtpd 29# -o syslog_name=postfix/smtps 30 -o smtpd_tls_wrappermode=yes 31 -o smtpd_sasl_auth_enable=yes 32# -o smtpd_reject_unlisted_recipient=no 33# -o smtpd_client_restrictions=$mua_client_restrictions 34# -o smtpd_helo_restrictions=$mua_helo_restrictions 35# -o smtpd_sender_restrictions=$mua_sender_restrictions 36# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject 37# -o milter_macro_daemon_name=ORIGINATING 38#628 inet n - n - - qmqpd 39pickup unix n - n 60 1 pickup 40cleanup unix n - n - 0 cleanup 41qmgr unix n - n 300 1 qmgr 42#qmgr unix n - n 300 1 oqmgr 43tlsmgr unix - - n 1000? 1 tlsmgr 44rewrite unix - - n - - trivial-rewrite 45bounce unix - - n - 0 bounce 46defer unix - - n - 0 bounce 47trace unix - - n - 0 bounce 48verify unix - - n - 1 verify 49flush unix n - n 1000? 0 flush 50proxymap unix - - n - - proxymap 51proxywrite unix - - n - 1 proxymap 52smtp unix - - n - - smtp 53relay unix - - n - - smtp 54# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 55showq unix n - n - - showq 56error unix - - n - - error 57retry unix - - n - - error 58discard unix - - n - - discard 59local unix - n n - - local 60virtual unix - n n - - virtual 61lmtp unix - - n - - lmtp 62anvil unix - - n - 1 anvil 63scache unix - - n - 1 scache 64 65(以下コメントのため省略)

cyrus

1/etc/sasl2/smtpd.conf 2 3pwcheck_method: auxprop 4mech_list: plain login

Thunderbirdでは下記アカウント設定で問題なく送受信ができています。

Thunderbird

1受信サーバー: 2 IMAP 3 サーバーのホスト名: mail.サーバーのドメイン名 4 ポート番号: 993 5 SSL:SSL/TLS 6 認証方式: 通常のパスワード認証 7送信サーバー: 8 SMTP 9 サーバーのホスト名: mail.サーバーのドメイン名 10 ポート番号: 465 11 SSL: SSL/TLS 12 認証方式: 通常のパスワード認証 13ユーザ名 14 受信サーバー: info 15 送信サーバー: info 16初回送信時に送信サーバーのパスワードを聞かれるためmail.ymlの「password」の値を設定

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

mail.ymlの設定を下記にしてみてはどうでしょうか?

encryption: ssl

投稿2017/11/09 11:50

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OldRiver

2017/11/10 10:01

encryption: ssl の場合も試したのですがこの場合はmaillogに「Anonymous TLS connection」と表示された後コネクションが切れてしまいます。ユーザ名infoで接続しているはずなのですが匿名のTLS接続になっているようです。 ------------------------------ Nov 10 18:52:12 ホスト名 postfix/smtpd[6284]: Anonymous TLS connection established from サーバーのドメイン名[サーバーのIPアドレス]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) Nov 10 18:52:12 ホスト名 postfix/smtpd[6284]: lost connection after CONNECT from サーバーのドメイン名[サーバーのIPアドレス] Nov 10 18:52:12 ホスト名 postfix/smtpd[6284]: disconnect from サーバーのドメイン名[サーバーのIPアドレス]
scsi

2017/11/10 13:12 編集

Thunderbirdからの送信が出来ている時のログも見せて頂けますか? 個人的な考えですが、ec-cubeとsmtpサーバが同じサーバなのであれば、SMTPサーバへの接続は 127.0.0.1:25を指定し、暗号化なし、認証なしで送信するのがシンプルでよいかと思います。暗号化が必要なのは、外部smtpへリレーする時です。SMTPサーバが外部MXへ配送時にstarttlsを使用できれば問題ありません。 さくらのクラウドであれば、スタートアップスクリプトで mailsystem が提供されているので、そちらを利用してメールサーバを用意して試してみるのもよいかもしれません。
OldRiver

2017/11/10 13:24 編集

thunderbirdに設定したメールアドレスからEC-CUBEと同じGmail宛て送信したログになります。 ------------------------------ Nov 10 22:00:09 ホスト名 postfix/smtpd[6699]: Anonymous TLS connection established from i121-117-160-71.s30.a048.ap.plala.or.jp[121.117.160.71]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) Nov 10 22:00:09 ホスト名 postfix/smtpd[6699]: E7E32803EF: client=i121-117-160-71.s30.a048.ap.plala.or.jp[121.117.160.71], sasl_method=PLAIN, sasl_username=info@mail.サーバーのドメイン名 Nov 10 22:00:10 ホスト名 postfix/cleanup[6703]: E7E32803EF: message-id=<fa6468d7-a91a-1fbb-6ff1-751598c7bb86@サーバーのドメイン名> Nov 10 22:00:10 ホスト名 postfix/qmgr[6697]: E7E32803EF: from=<info@サーバーのドメイン名>, size=715, nrcpt=1 (queue active) Nov 10 22:00:10 ホスト名 postfix/smtp[6704]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c01::1b]:25: Network is unreachable Nov 10 22:00:10 ホスト名 postfix/smtpd[6699]: disconnect from i121-117-160-71.s30.a048.ap.plala.or.jp[121.117.160.71] Nov 10 22:00:10 ホスト名 dovecot: imap(info): Disconnected: Disconnected in IDLE in=1427 out=3264 Nov 10 22:00:11 ホスト名 postfix/smtp[6704]: E7E32803EF: to=<Gmailアカウント名@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.125.26]:25, delay=1.7, delays=0.11/0.01/0.71/0.81, dsn=2.0.0, status=sent (250 2.0.0 OK 1510318811 s89si9470904pfk.96 - gsmtp) Nov 10 22:00:11 ホスト名 postfix/qmgr[6697]: E7E32803EF: removed Nov 10 22:00:20 ホスト名 dovecot: imap-login: Login: user=<info>, method=PLAIN, rip=121.117.160.71, lip=27.133.129.69, mpid=6712, TLS, session=<zhXEgKBdHQB5daBH> こちらの場合も「Anonymous TLS connection」となっているので同じようですが次の行に認証元の情報が出力されています。 >暗号化が必要なのは、外部smtpへリレーする時です SMTPSそのものについて確認しましたが暗号化されるのはメールクライアントから送信側のメールサーバー間のみのでした。確かにec-cubeとsmtpサーバーが同一なので今回であれば暗号化の必要がありませんでした。 暗号化なしの状態にもどして運用します、アドバイスありがとうございました。
guest

0

465番ポートは SMTPS ですが、EC-CUBE → Postfix:465 に SMTPS ではなく、STARTTLS で接続しようとしているように思います。
EC-CUBE についてはよくわからないのですが、SMTPS で接続するよう設定できるのか、そもそも SMTPS をサポートしていないのかもしれません。

Postfix で 587 (master.cf の submission) を有効にして、EC-CUBE → Postfix:587 に接続するとどうでしょうか?

投稿2017/11/09 09:27

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OldRiver

2017/11/10 12:57 編集

EC-CUBE3系はswiftmailerというフレームワークを使用しています。 仕様について確認したところEC-CUBEがswiftmailerに渡しているmai.ymlの「encryption」の値はtlsとsslの2種類がつかえるものでした。 tlsの場合はSTARTTLS sslの場合はSMTP over SSL/TLS そのためSMTPSはサポートしていました、今回は「encryption: ssl」が正しい設定でした。 ただ、この場合でも送信はできませんでした(scsiさんへの回答へのコメントにログを貼りました) また「encryption: tls」のままmail.ymlに「port: 587」を設定し、master.cf の submissionを有効にしてSTARTTLSでの動作も確認してみましたがこちらの場合でも送信がうまくいっていおりません。 ---------------------------------- Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: initializing the server-side TLS engine Nov 10 21:37:02 ホスト名 postfix/tlsmgr[6598]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache Nov 10 21:37:02 ホスト名 postfix/tlsmgr[6598]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: connect from サーバーのドメイン名[サーバーのIPアドレス] Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: setting up TLS connection from サーバーのドメイン名[サーバーのIPアドレス] Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: サーバーのドメイン名[サーバーのIPアドレス]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH" Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: Anonymous TLS connection established from サーバーのドメイン名[サーバーのIPアドレス]: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits) Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: lost connection after STARTTLS from サーバーのドメイン名[サーバーのIPアドレス] Nov 10 21:37:02 ホスト名 postfix/smtpd[6597]: disconnect from サーバーのドメイン名[サーバーのIPアドレス]
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問