Gmailを使用してのメール送信について

Gmailを使用してのメール送信について

by hiroki nanba -
Number of replies: 7

メールの送信を行いたくてsmtpの設定を行っています。

メール送信を行いたく、以下のページを見て設定したのですがメール送信が出来ません。


GmailでのEメール設定

https://docs.moodle.org/2x/ja/Gmail%E3%81%A7%E3%81%AEE%E3%83%A1%E3%83%BC%E3%83%AB%E8%A8%AD%E5%AE%9A


リンク先には SMTPホストの設定で

上記SMTP hosts設定でポートを含むことができないため、1.9.2以降では、以下2つの追加的な修正が必要です。

とありますが、

私のMoodleのSMTPホストの設定部分には

デフォルト以外のポート (例 ポート25以外) を指定するには[サーバ]:[ポート]シンタックスを使用することができます

と記載があります。

どちらが正しいのでしょうか。


メール送信のテストにはeMail Testというプラグインを使っております。

Moodleのバージョンは3.6.1です。

Gmailの設定で安全性の低いアプリの許可は許可するように設定しています。


どのように設定すればよいか教えていただけないでしょうか。

Average of ratings: -
In reply to hiroki nanba

Re: Gmailを使用してのメール送信について

by Mitsuhiro Yoshida -
Picture of Developers Picture of Translators

大変お手数ですが下記ドキュメントをご覧ください。

[Email setup gmail - MoodleDocs]
https://docs.moodle.org/36/en/Email_setup_gmail

In reply to Mitsuhiro Yoshida

Re: Gmailを使用してのメール送信について

by hiroki nanba -

すみません。ドキュメントがあったんですね。

教えていただきありがとうございます。


SMTPの設定を

SMTP hosts: smtp.gmail.com:465 に、

SMTPセキュリティをSSLにして、

SMTPユーザ名をメールアドレス、SMTPパスワードをパスワードを入力して

送信してみたのですが、送信できませんでした。

他になにか考えられるでしょうか。

In reply to hiroki nanba

Re: Gmailを使用してのメール送信について

by Mitsuhiro Yoshida -
Picture of Developers Picture of Translators

私の場合、下記手順によりテストメールを送信できました。

テスト環境:
Moodle 3.6.2+ (Build: 20190222)
CentOS Linux release 7.6.1810
PHP 7.1.26
MariaDB 10.1.38

1. Firewalld (iptables) を停止する。

2. Moodleのプログラムを修正する。

修正対象プログラム:
lib/phpmailer/moodle_phpmailer.php

修正箇所:
138行目

[ 修正前 ]
            $mail = new stdClass();
            $mail->header = $this->MIMEHeader;
            $mail->body = $this->MIMEBody;
            $mail->subject = $this->Subject;
            $mail->from = $this->From;
            $mail->to = $this->to[0][0];
            phpunit_util::phpmailer_sent($mail);
            return true;
        } else {
            return parent::postSend();
        }

[ 修正後 ]
            $mail = new stdClass();
            $mail->header = $this->MIMEHeader;
            $mail->body = $this->MIMEBody;
            $mail->subject = $this->Subject;
            $mail->from = $this->From;
            $mail->to = $this->to[0][0];
            $mail->SMTPOptions = array(
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                    'allow_self_signed' => true
                )
            );
            phpunit_util::phpmailer_sent($mail);
            return true;
        } else {
            return parent::postSend();
        }


3. Moodleの「管理 > サイト管理 > サーバ > メール > 送信メール設定」を変更する。

SMTPホスト smtphosts:
smtp.gmail.com:465

SMTPセキュリティ smtpsecure:
SSL

SMTP認証タイプ smtpauthtype:
NTLM

SMTPユーザ名 smtpuser:
Gmailアカウント名@gmail.com

SMTPパスワード smtppass:
Gmailパスワード

SMTPセッション制限 smtpmaxbulk:
1

4. メール クライアントにログインできるようにするため下記Googleページにアクセスする。
https://www.google.com/accounts/DisplayUnlockCaptcha

5. 「管理 > サイト管理 > サーバ > メール >  eMail Test」でテストメールを送信する。

[Moodle plugins directory: Moodle eMail Test]
https://moodle.org/plugins/local_mailtest

In reply to Mitsuhiro Yoshida

Re: Gmailを使用してのメール送信について

by hiroki nanba -
回答いただきありがとうございます。

回答いただきましたようにファイアウォールを切り、

lib/phpmailer/moodle_phpmailer.php を修正し、

送信メール設定を修正し、メールクライアントにログインできるようにしてから

テストしたのですが、送信できませんでした。


私の環境は

Windows 10の環境にxmapp 7.1.24を入れてlocalhostで実行しています。

もし、何かまだ考えられる箇所がありましたら教えていただければ幸いです。

In reply to hiroki nanba

Re: Gmailを使用してのメール送信について

by Mitsuhiro Yoshida -
Picture of Developers Picture of Translators

以下のページが問題解決のためのヒントになるかと思います。

[xamppでgmailを使用するための設定 - Geekな日記]
http://d.hatena.ne.jp/geek-it/20120318/p1

[php - How to configure XAMPP to send mail from localhost? - Stack Overflow]
https://stackoverflow.com/questions/15965376/how-to-configure-xampp-to-send-mail-from-localhost

[Quick way - Configure XAMPP To Send Mail Through Localhost 2019? - Techblogchain ]
https://techblogchain.com/configure-xampp-to-send-mail-through-localhost-2018/

Average of ratings: お役立ち度: ★★★★★★★ (1)
In reply to Mitsuhiro Yoshida

Re: Gmailを使用してのメール送信について

by hiroki nanba -

すみません。返信が遅くなりました。

いろいろ教えていただきありがとうございます。

提示していただきましたのを参考にして

php.iniとsendmail.iniを編集して設定したのですがそれでもダメでした。

ポート番号を465と587の両方で試してみたのですが両方ダメでした。

もう少し自分でも探して試してみます。

In reply to hiroki nanba

Re: Gmailを使用してのメール送信について

by Takashi M -

こんにちは。
弊社の教育環境では、Gmailでメール送信を行っています。

ご参考までに、設定状況を書いておきますね。
特にソースコード等の修正は行っておりません。
ただ、Gmail側のセキュリティ設定を少し触った様な記憶があります。
(記憶があいまいですみません…。)

管理 > サイト管理 > プラグイン > メッセージアウトプット > メール

SMTPホスト:     smtp.gmail.com:465
SMTPセキュリティ:  SSL
SMTP認証タイプ:   LOGIN
SMTPユーザ名:    [Gmailのメールアドレス]
SMTPパスワード:   [Gmailのパスワード]
SMTPセッション制限: 1
No-replyアドレス:    [Gmailのメールアドレス]
常にno-replyアドレスからメールを送信する:   No
文字セット:       UTF-8
ユーザの文字セット選択を許可する:  No
添付を許可する:     Yes
メールの改行文字:    LF

上手く行きますように!

Average of ratings: お役立ち度: ★★★★★★★ (1)