多摩大学経営情報学部では、2年の学生を対象に、「社長になって企業を経営する」「消費者として市場を形成する」という経験ができる「多摩大式経済経営ゲーム」を講義として実施しています。

このシステムは、裏では PHP / MySQL が動いていて、リアルタイムでオンラインショッピングができる仕組みになっています。現在のシステムは、2009 – 2010 年に私が作成したものを改良しながら使っています。

2023 年から、システムを Docker イメージとして起動できるように準備してきました。その甲斐あって(?)、ゲームサーバの HDD クラッシュを受けても、システム自体は、一つの機能を除いて問題なく復旧ができました。動かなかったのは、学生に対するパスワードのメール通知機能です。

直接システムが動作していたときは PHP の mail コマンドでメールが送れていましたが、Docker 上のウェブサーバからは、SMTP を使用してメールを送信する必要があります。この作業メモです。

まずは msmtp のインストール:

FROM php:apache
RUN apt-get update && apt install -y libonig-dev 
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
RUN apt-get install -y msmtp msmtp-mta vim

COPY ./msmtprc /etc/msmtprc
RUN chown www-data:www-data /etc/msmtprc
RUN chmod 600 /etc/msmtprc

次に、gmail を踏み台にして送信する設定:

account default
host smtp.gmail.com
port 587
user ideharalab
password ********
from ideharalab@gmail.com

tls on
tls_starttls on
tls_certcheck off
auth on

logfile /var/log/msmtp.log

これで行くかな?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です