「Gmail」タグアーカイブ

DockerコンテナにPHPMailerをインストールしGmailでメールを送信する方法


Dockerfileの中ではなく、PHPのDockerコンテナに入ってPHPMailerをインストールしてGmail送信した時の手順を残しておきます。

レンタルサーバ上ではサーバからそのままメールを送りますが、ローカル開発はDockerで行っており、ローカルでのメール送信系はGmailを使う事にしました。

まず、Dockerコンテナに入ります。

docker ps

docker exec -it {コンテナ名} bash

コンテナに入ったら

Dockerコンテナ内で以下のコマンドを順番に実行して、zip、unzip、Gitをインストールします。

apt-get update
apt-get install -y zip unzip git

続いてPHPMailerをインストールするためにComposerを使用します。まず、Composerをインストールします。同じくこの順番でコマンド発行します。

apt-get update
apt-get install -y wget
wget https://getcomposer.org/installer -O composer-setup.php
php composer-setup.php –install-dir=/usr/local/bin –filename=composer

終わったら、PHPMailerをプロジェクトに追加します。

composer require phpmailer/phpmailer

これにより、既存のDockerコンテナ内でPHPMailerがインストールされます。Composerを使用してPHPMailerをインストールすることで、依存関係を解決し、PHPプロジェクト内でPHPMailerを使用できるようになります。

因みにComposer(コンポーザー)は、PHPの依存関係管理ツールであり、PHPのパッケージ(ライブラリやフレームワークなど)を管理するためのツールです。Composerを使用することで、外部ライブラリを簡単にインストールし、プロジェクトの依存関係を効果的に管理することができます。色々なパラメータがあるので必要に応じて自分で調べてみてください。

あとは、phpのスクリプト内でPHPMailerを読み込ませればOKです。PHPMailerをインストールするとvendorディレクトリが自動で作成されます。

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require ‘./vendor/phpmailer/phpmailer/src/Exception.php’;
require ‘./vendor/phpmailer/phpmailer/src/PHPMailer.php’;
require ‘./vendor/phpmailer/phpmailer/src/SMTP.php’;

PHPMailerでメール送信した時に文字化けする場合には

$mail->CharSet = “utf-8”;
$mail->Encoding = “base64”;

この指定をしておきましょう。これで文字化けが解消されました。

また、VS Code  > 問題 を選択するとで2023年10月29日時点で

PHPMailerの中にバグが複数個ありました。

開発した人は気付いていないんじゃないかと思われます。

もっとも普通にメール送信は出来たので良しとします。

 


C#でGmail送信をしようとした時にエラー発生 | 5.7.0 Authentication Required. Learn more at


C#を使ってGmailでメール送信をしようとしたところ次のエラーが出ました。コードは正しいのになぜかな~と思って調べてみるとGoogleのアプリパスワードの設定が必要との事でした。

SMTP サーバーにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。 サーバーの応答:5.7.0 Authentication Required. Learn more at

そんな訳で早速手順をメモっておきます。

アプリパスワードの設定手順

Googleを起動し右上からアカウントを選択

左メニューからセキュリティを選択

2段階認証プロセスをクリック

この時に2段階認証プロセスを設定していない場合には、設定が必要です。

 

 

画面を下にスクロールしアプリパスコードをクリック

アプリ パスワードは、最新のセキュリティ標準に対応していない古いアプリやサービスで Google アカウントにログインするための手段です。

アプリ パスワードは、最新のセキュリティ標準を使用する最新のアプリやサービスを使用している場合よりも安全性が低くなります。アプリ パスワードを作成する前に、ログインするためにアプリにアプリ パスワードが必要かどうかをご確認ください。

アプリパスワードに名前をつけます。適当な名前でOKです。

するとアプリパスワードが生成されます。

プログラムからGmailでメール送信する場合には通常のパスワードではなく、このアプリパスワードを指定する事で正常にメール送信をする事が出来る様になります。

 

 


Windows LiveメールへGmailを設定する方法


1.

Gmailを設定するにはGmail側の設定が必要です。
まず、Googleアカウントにログインし、Gmailを開いてください。

2.

Gmail画面より歯車のマークをクリックし、設定を選択します。

g_1

3.

設定画面から「メール転送とPOP/IMAP」を選択し、
すべてのメールでPOPを有効にする」
IMAPを有効にする」にチェックを入れ、変更を保存します。

gmail_2

4.

次はGoogleアカウントから「ログインとセキュリティ」を選択してください。

g_3
g_4

5.

接続済みのアプリとサイト」を選択し、「安全性の低いアプリの許可」を「有効」にします。

g_5
g_6

6.

Windows live メール からメールのアカウントを追加します。
「アカウント」→「電子メール」を選択しします。

メールアドレス(Gmailアドレス)
パスワード(Googleアカウントのパスワード)
お好きな表示名を記入し、「次へ」を選択します。
g_7

これで登録は完了です。

サーバーの情報が自動的に下記のように設定されています。
Gmailの設定ができない時は、サーバーの設定を確認してください。
g_8-9

受信サーバー:pop.gmail.com
サーバーの種類:POP
ポート番号が:995

送信サーバー:smtp.gmail.com
ポート:465