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メソッド内の処理で環境に合わせて組み立ててメールを送信してくれる。
関連記事