コンテンツへスキップ

PHP で PEAR を用いてメール送信

プログラム言語により、お作法も異なり、文字コードなど、
未だに気にすることの多い、メール送信。
今回は、PHPのPEARライブラリを用いてメール送信するコードを紹介します。

別の環境では、ローカルサーバーにSSMTPを導入し、PHPからのメール送信を実現しました。
参考URL:PHPからSSMTP経由でメール送信

PHP PEAR および Mailパッケージの導入

以下のコマンドで、php-pearとMailパッケージの導入が行なえます。

sudo apt-get install php-pear
sudo pear update-channels
sudo pear upgrade-all
sudo pear install Mail

以前にRaspberry Piへ導入時の記事を公開しているので、必要に応じて参考にして下さい。
Raspberry Pi にPHP PEARライブラリー導入

PHPコードのサンプル

以下、PHPコードのサンプルとなります。

function pear_mail($title, $message)
{
  $params = array(
 "host" => "@SMTP_Server@",
 "port" => 25
 );

 $mailObject = Mail::factory("smtp", $params);

 $recipients = "mail@mail.adress";
 $headers = array(
 "To" => "mail@mail.adress",
 "From" => mb_encode_mimeheader("差出人名") . "<from@mail.adress>",
 "Subject" => mb_encode_mimeheader($title)
 );

 $body = mb_convert_encoding($message, "ISO-2022-JP", "auto");

$mailObject->send($recipients, $headers, $body);

 if (PEAR::isError($mailObject)) {
   echo "メールを送信に失敗しました: {$title} " . $mailObject->getMessage();
 } else {
   echo "メールを送信しました: {$title}";
 }
}

 

2019年12月02日週 めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月02日週 のめざましじゃんけんの結果を公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月07日
(土曜日)
【2戦目】08時21分生じゃんけん!要潤さん
【1戦目】07時38分遠藤憲一さん
12月06日
(金曜日)
【4戦目】07時58分片寄涼太さん 橋本環奈さん 眞栄田郷敦さん 遠藤憲一さん
【3戦目】07時35分ANZEN漫才
【2戦目】06時58分霜降り明星
【1戦目】05時58分まちかどじゃんけん
12月05日
(木曜日)
【4戦目】07時58分八木アリサさん、岡崎紗絵さん
【3戦目】07時35分新木優子さん、よしこさん
【2戦目】06時58分檜山光成さん、深田竜生さん
【1戦目】05時58分まちかどじゃんけん
12月04日
(水曜日)
【4戦目】07時58分生じゃんけん!片寄涼太さん 橋本環奈さん
【3戦目】07時35分相葉雅紀さん
【2戦目】06時58分ゆきぽよさん
【1戦目】05時58分まちかどじゃんけん
12月03日
(火曜日)
【4戦目】07時58分生じゃんけん!眞栄田郷敦さん
【3戦目】07時35分AIさん
【2戦目】06時58分平祐奈さん
【1戦目】05時58分まちかどじゃんけん
12月02日
(月曜日)
【4戦目】07時58分片寄涼太さん、眞栄田郷敦さん、八木アリサさん、岡崎紗絵さん、鈴木勝大さん、野田理人さん、宇佐卓真さん、内藤秀一郎さん
【3戦目】07時35分渡辺直美さん
【2戦目】06時58分奈緒さん、村上淳さん、笹野高史さん
【1戦目】05時58分まちかどじゃんけん

2019年12月07日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月07日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月07日
(土曜日)
【2戦目】08時21分生じゃんけん!要潤さん
【1戦目】07時38分遠藤憲一さん

2019年12月06日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月06日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月06日
(金曜日)
【4戦目】07時58分片寄涼太さん 橋本環奈さん 眞栄田郷敦さん 遠藤憲一さん
【3戦目】07時35分ANZEN漫才
【2戦目】06時58分霜降り明星
【1戦目】05時58分まちかどじゃんけん

2019年12月05日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月05日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月05日
(木曜日)
【4戦目】07時58分八木アリサさん、岡崎紗絵さん
【3戦目】07時35分新木優子さん、よしこさん
【2戦目】06時58分檜山光成さん、深田竜生さん
【1戦目】05時58分まちかどじゃんけん

2019年12月04日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月04日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月04日
(水曜日)
【4戦目】07時58分生じゃんけん!片寄涼太さん 橋本環奈さん
【3戦目】07時35分相葉雅紀さん
【2戦目】06時58分ゆきぽよさん
【1戦目】05時58分まちかどじゃんけん

2019年12月03日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月03日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月03日
(火曜日)
【4戦目】07時58分生じゃんけん!眞栄田郷敦さん
【3戦目】07時35分AIさん
【2戦目】06時58分平祐奈さん
【1戦目】05時58分まちかどじゃんけん

2019年12月02日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年12月02日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
12月02日
(月曜日)
【4戦目】07時58分片寄涼太さん、眞栄田郷敦さん、八木アリサさん、岡崎紗絵さん、鈴木勝大さん、野田理人さん、宇佐卓真さん、内藤秀一郎さん
【3戦目】07時35分渡辺直美さん
【2戦目】06時58分奈緒さん、村上淳さん、笹野高史さん
【1戦目】05時58分まちかどじゃんけん

cupyの利用に関して

Windowsでchainerを利用とした際に、cupy関係のエラーがでました。
自身のCuda利用環境に合わせたCupyを導入する必要があるようです。

C:\Users\miki\Anaconda3\envs\Own-Project\lib\site-packages\chainer\backends\cuda.py:98: UserWarning: cuDNN is not enabled.
Please reinstall CuPy after you install cudnn
(see https://docs-cupy.chainer.org/en/stable/install.html#install-cudnn).
  'cuDNN is not enabled.\n'

cupyインストール

pip install cupyすると、CUDA-8.0をターゲットとしてしまうみたいです。
なので、下記コマンドでCUDA-9.0用のcupyをインストールしてください。
pip install cupy-cuda90
cupyに関してはこちらに書いてありました。
CUDA 10.1を利用する場合
$ pip install cupy-cuda101
(Own-Project) C:\WINDOWS\system32>pip install cupy-cuda101
Collecting cupy-cuda101
Using cached https://files.pythonhosted.org/packages/14/80/35f5cb9858c3e914824b2a8c72db4c7a522e7aace0acfe469875dc05eedb/cupy_cuda101-6.2.0-cp36-cp36m-win_amd64.whl
Requirement already satisfied: six>=1.9.0 in c:\users\miki\anaconda3\envs\own-project\lib\site-packages (from cupy-cuda101) (1.12.0)
Requirement already satisfied: fastrlock>=0.3 in c:\users\miki\anaconda3\envs\own-project\lib\site-packages (from cupy-cuda101) (0.4)
Requirement already satisfied: numpy>=1.9.0 in c:\users\miki\anaconda3\envs\own-project\lib\site-packages (from cupy-cuda101) (1.16.4)
Installing collected packages: cupy-cuda101
Successfully installed cupy-cuda101-6.2.0

利用環境に合わせたCupyを導入し、エラーがなくなりました。

Cupy、Chainerの動作環境

chainer.print_runtime_info()
print('GPU:', chainer.cuda.available)
print('cuDNN:', chainer.cuda.cudnn_enabled)
Platform: Windows-10-10.0.17134-SP0
Chainer: 5.3.0
NumPy: 1.16.4
CuPy:
  CuPy Version          : 6.2.0
  CUDA Root             : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
  CUDA Build Version    : 10010
  CUDA Driver Version   : 10010
  CUDA Runtime Version  : 10010
  cuDNN Build Version   : 7500
  cuDNN Version         : 7500
  NCCL Build Version    : None
  NCCL Runtime Version  : None
iDeep: Not Available
GPU: True
cuDNN: True

2019年11月25日週 めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年11月25日週 のめざましじゃんけんの結果を公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
11月30日
(土曜日)
【2戦目】08時21分秋山竜次さん
【1戦目】07時38分山崎弘也さん
11月29日
(金曜日)
【4戦目】07時58分小池栄子さん
【3戦目】07時35分霜降り明星 せいやさん
【2戦目】06時58分久保田利伸さん
【1戦目】05時58分まちかどじゃんけん
11月28日
(木曜日)
【4戦目】07時58分生じゃんけん!伊野尾慧パーソナリティ
【3戦目】07時35分高良健吾さん、浜野謙太さん
【2戦目】06時58分平塚翔馬さん、豊田陸人さん
【1戦目】05時58分まちかどじゃんけん
11月27日
(水曜日)
【4戦目】07時58分長谷川京子さん
【3戦目】07時35分北村匠海さん 芳根京子さん
【2戦目】06時58分Little Glee Monster
【1戦目】05時58分まちかどじゃんけん
11月26日
(火曜日)
【4戦目】07時58分生じゃんけん!林家たま平さん
【3戦目】07時35分ダチョウ倶楽部
【2戦目】06時58分塚本高史さん 咲妃みゆさん
【1戦目】05時58分まちかどじゃんけん
11月25日
(月曜日)
【4戦目】07時58分生じゃんけん! 生田竜聖アナウンサー
【3戦目】07時35分小関裕太さん
【2戦目】06時58分朝日奈央さん
【1戦目】05時58分まちかどじゃんけん