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

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

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

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

EC-CUBE

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

Q&A

0回答

2982閲覧

EC-CUBE4:外部SMTP(gmail)への接続がエラーになりメール送信ができない

diz-inc

総合スコア5

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

EC-CUBE

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

0グッド

0クリップ

投稿2021/11/10 04:03

##環境

EC-CUBEバージョン:EC-CUBE4.0.3
Apacheバージョン:2.4.51
PHPバージョン:7.2.34

##症状

EC-CUBEを運用中のメールサーバーの不具合があったためsmtpサーバーにgmailを利用することにしました。

env

1MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&auth_mode=login&username=アカウント@gmail.com&password=アプリパスワード

上記の通り.envファイルを修正してから一週間ほどは問題なく送信ができておりましたが、急にエラーが発生し、コンタクトフォームや自動返信メールの送信ができなくなってしまいました。

error

1 app.ERROR [N/A] [dcd73ca] [anon.] [Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener:onTerminate:64] - Exception occurred while flushing email queue: Connection could not be established with host smtp.gmail.com [Connection timed out #110]

エラーが発生する前に変更した設定やファイルはありません。

##試したこと

###Gmailでの設定
1.安全性の低いアプリの許可を設定
2.アプリパスワードの設定

通常のパスワードを利用したり、二段階認証をオフにしたりと色々組み合わせましたが変化はありませんでした。

###別のメールサービスのsmtpサーバー利用
gmailとは別のメールサービスのsmtpを設定しましたが、こちらも同様のエラーが発生します。

###サーバー側の設定
1.リモートメールエクスチェンジャー設定済み
2.php.iniのmax_execution_timeの値を180~3000まで変更(デフォルト30)

###Apacheのエラー
サーバーのエラーログを確認した際に以下のようなエラーが発生していました。

error

1client denied by server configuration:home/XXXX/public_html/.env

これは.htaccess内の以下の記述を修正することで解消しました。
####変更前

htaccess

1<FilesMatch "^composer|^COPYING|^.env|^.maintenance|^Procfile|^app.json|^gulpfile.js|^package.json|^package-lock.json|web.config|^Dockerfile|.(ini|lock|dist|git|sh|bak|swp|env|twig|yml|yaml|dockerignore)$"> 2 order allow,deny 3 deny from all 4</FilesMatch> 5 6<Files ~ "index.php"> 7 order deny,allow 8 allow from all 9</Files>

####変更後

htaccess

1<FilesMatch "^composer|^COPYING|^.env|^.maintenance|^Procfile|^app.json|^gulpfile.js|^package.json|^package-lock.json|web.config|^Dockerfile|.(ini|lock|dist|git|sh|bak|swp|env|twig|yml|yaml|dockerignore)$"> 2 Require all granted 3</FilesMatch> 4 5<Files ~ "index.php"> 6 Require all granted 7</Files>

###別環境でのテスト
1.ローカルサーバー(XAMPP)環境で全く同じ構成のEC-CUBEでテスト

こちらは問題なく接続でき、送信先での受信を確認できました。

##実現したいこと
引き続きgmailのsmtpを利用したメールの送信を行いたいと思っています。

お力をお貸しください。よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問