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

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

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

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

PHP

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

2998閲覧

dockerでtransmitmailが送信失敗する

lily22

総合スコア16

SMTP

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

PHP

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1グッド

1クリップ

投稿2020/02/19 08:00

やりたいこと
dockerでapache-phpコンテナを作りそこでtransmitmailを動かしたい

dockerイメージ
docker-image: php:7.3.2-apache

dockerでphp-apacheコンテナを作りそこでtransmitmaiilを使ったフォームを作ろうとしましたが、フォーム送信で失敗してしまいます。
php自体は動作しているようです。
transmitmailのlogディレクトリには以下のようなログが吐き出されていました。

2020-02-19 13:51:21 Qdmail error: Qdmail Version 1.2.6b ,PHP Version 7.3.2 Qdmail error: OS Linux ; PHP Version 7.3.2 ; Qdmail version 1.2.6b php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS Qdmail Status debug: 0, log: 0, errorlog: 3 Qdmail error: No send . Because PHP mail function replied error line -> 2193 To: example@gmail.com Subject: =?iso-2022-jp?B?GyRCIU4zdDwwMnE8UiVGJTklSCFPJCpMZCQkOWckbyQ7GyhC?= From: example@gmail.com Message-Id: <Qdmail.1.2.6b_d15c4f3b015f74c63c20c5a7ea51d35837356df7@hal456.net> Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-PHP-Qdmail: version-1.2.6b The_MIT_License http://hal456.net/qdmail PHPver 7.3.2 send-by MailFunction 2020-02-19 13:51:21 Qdmail error: Send Error line -> 2116 To: example@gmail.com Subject: =?iso-2022-jp?B?GyRCIU4zdDwwMnE8UiVGJTklSCFPJCpMZCQkOWckbyQ7GyhC?= From: example@gmail.com Message-Id: <Qdmail.1.2.6b_d15c4f3b015f74c63c20c5a7ea51d35837356df7@hal456.net> Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-PHP-Qdmail: version-1.2.6b The_MIT_License http://hal456.net/qdmail PHPver 7.3.2 send-by MailFunction

誰かわかる方いらっしゃいましたらご教示よろしくお願いいたします。

dounokouno👍を押しています

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/02/19 09:16

gmail.com の低セキュアログインは無効なのでは?
lily22

2020/02/19 09:31

すみません。example@gmail.comの部分はダミーです。 元々はgmail以外の自分のメールアドレスが入っています。 しかし、メールの低セキュアログインの無効というのが原因の可能性が高いということでしょうか? 他のメールアドレスにしたら改善するでしょうか?
退会済みユーザー

退会済みユーザー

2020/02/19 10:10

そういう場合は例示ドメインを使いましょう。 そのドメイン特有の設定が絡むばあいがあります。(gmailはある)
退会済みユーザー

退会済みユーザー

2020/02/19 10:11

ちなみに example@gmail.comはGmail利用だがアカウントは知られたくないばあいに利用可能な例示アカウントになります
lily22

2020/02/19 10:57

教えていただきありがとうございます! 重ねて質問申し訳ありませんが、 これが原因かどうか検証する方法って何かありますでしょうか??
hoshi-takanori

2020/02/20 23:13

SMTP の指定はどうされてますか?
lily22

2020/03/09 09:14

hoshi-takanori様 大変返事が遅くなり申し訳ございません。 SMTPの指定とのことですが、特に何もしていません・・ ただtransmitmailを配置しているような状態です。
hoshi-takanori

2020/03/09 09:41

通常、メール送信には SMTP サーバーが必要ですが、レンタルサーバーなどでは PHP を動かすサーバー自体で SMTP サーバーも動かしているために外部 SMTP サーバーの指定は不要なのだと思います。 Docker で動かす場合は、Docker の中で SMTP サーバーは動かさないでしょうから(動かすとしても転送先の SMTP サーバーの指定が必要)、外部 SMTP サーバーの指定が必要になると思われます。
lily22

2020/03/11 07:18

hoshi-takanori様 ありがとうございます! メールのシステム自体をよく理解していなかった為、非常に参考になりました。 まだ少し混乱しているのですが、メール送信する為にはホストにSMTPサーバーを立ててそれに外部SMTPサーバーを指定してあげればよいということでしょうか? また調べているうちにメール送信するにはIPアドレスが必要との記事も見かけたのですが、その辺は関係ありますでしょうか? 度々申し訳ありません。
hoshi-takanori

2020/03/11 07:23

transmitmail の設定ファイルに外部 SMTP サーバーの指定をすればいいと思います。 transmitmail はどこで動かしますか?
lily22

2020/03/11 07:31

transmitmailはdockerでphpの入ったapacheコンテナを立ててその中に配置しています。 答えが見当はずれだったらすみません。
hoshi-takanori

2020/03/11 07:35

ですよね…。で、その docker コンテナはどこで動かしますか?
lily22

2020/03/11 07:47

当たり前のことをすみません。 PCがwindowsのhomeエディションなので、virtualboxの中です。
hoshi-takanori

2020/03/11 07:49

はい。その PC はご自宅ってことですよね。ご契約のプロバイダーから SMTP サーバーの情報をもらってると思いますので、それを指定すればいいはずです。
lily22

2020/03/11 07:57

そうだったんですね・・! 探してみます!本当にありがとうございます!
guest

回答1

0

TransmitMail 開発者の @dounokouno と申します。

チェックモードでご確認いただいて、設定などに問題はないでしょうか?

https://github.com/dounokouno/TransmitMail/wiki/設定ファイルの記述方法(v2)#チェックモードの利用

docker 環境だと、 OS に sendmail コマンドが入っていなかったり、入っていても、なんらかの制限がかかっていたりするかもしれません。もしよければ、外部 SMTP サーバーを使う方法も試してみてください。

投稿2020/03/15 02:19

dounokouno

総合スコア27

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問