PHPの実行環境でフルスクラッチでsendmailを実行する必要が出てきた。
mail関数はメール送信前にヘッダ周りの設定が何かと面倒なので、SOY CMSの開発で様々なサーバの運営に関わった知見を活用するため、SOY CMS内で動いているSOY2フレームワークのSOY2Mailのみを使用することにしてみた。
root
├── index.php
└── lib
└── soy2_build.php
SOY2Mailを試す為のファイル構成は上記のようにする。
/root/lib直下にあるsoy2_build.phpは
SOY CMSに同梱されているSOY2ライブラリを頂戴してきた。
※SOY CMS内のSOY2ライブラリの位置
※/CMSインストールディレクトリ/common/lib/soy2_build.php
それでは早速、SOY Mailを使う為のコードをindex.phpに書いてみる。
index.php
<?php
include_once("lib/soy2_build.php");
$to = "hoge@huga.com";
$from = "contact@example.com";
$name = "テスト";
$subject = "SOY2Mailテスト";
$body = "Hello Mail!";
//SOY2Mailの読み込み
$mail = SOY2Mail::create("sendmail", array());
//宛先(To)の指定
$mail->addRecipient($to, "");
//送信元(From)の指定 第二引数で送信元名称を指定する
$mail->setFrom($from, $name);
//メールタイトル
$mail->setSubject($subject);
//メール本文
$mail->setText($body);
//メール送信
$mail->send();
上記の手続きでメールを送信する。
ヘッダ、エンコードやエンベロープFromはsendメソッド内の処理で環境に合わせて組み立ててメールを送信してくれる。
関連記事





