mail()関数は、スパムやその他の迷惑メールを送信するためにネットワーク上の悪意のあるユーザーによって頻繁に使用されていたため、以前はmail関数を無効にすることを決定しました。電子メールを送信するには、電子メールライブラリを使用することをお勧めします。選択できるものはたくさんあります。
CodeIgniterフレームワーク。
CodeIgniterフレームワークを利用する場合は、組み込みのEメールクラスを使用して電子メールを送信できます。 CodeIgniterのEメールクラスを使用したサンプルコードは次のとおりです。
$ this-> load-> library('email');
$ this-> email-> from('[email protected]'、'eUKhost Limited(No Reply)');
$ this -> email-> to($ email); // $ email =“ email_id”
$ this-> email-> subject('Welcome to eUKhost Limited。');
$ this-> email-> message('
ここにメッセージ
');
$ this-> email-> send();
config / autoload.phpファイル内でEmailクラスを自動ロードすることもできます。これは、Emailクラスを使用する前に、コードの最初の行を使用してEmailクラスをインスタンス化する必要がないことを意味します。
Emailクラスの詳細CodeIgniterで、ドキュメントを参照してください。
PEARライブラリ。
PEARライブラリには、既存の電子メールアカウントを使用したSMTP認証を介した電子メールを含む電子メールを送信するための組み込みのメールクラスもあります。次に例を示します:
include(‘Mail.php’); //PEARメールクラスを含みます
$headers =array(‘From’ => $ from、‘To’ => $ to、‘Subject’ => $ subject); //メールヘッダー
$smtp =Mail ::factory('smtp'、array('host' =>“ localhost”、'auth' => true、'username' => $ username、'password' => $ password、'port' => '587')); //ホスティングアカウントの既存のメールアカウントのユーザー名とパスワードを使用したSMTPプロトコル
$mail =$ smtp-> send($ to、$ headers、$ body); //メールを送信する
詳細については、PEAR WebサイトのMailクラスのページを参照してください。
注:上記のコードはエラーを検出しないため、より詳細な例についてはドキュメントを確認することをお勧めします。
SMTPポートを見つけるには、cPanelの「Eメールアカウント」内の「その他」メニューの下にある「Eメールクライアントの設定」に移動します。ポート587の可能性がありますが、確認してください。
SwiftMailerライブラリ。
SwiftMailerライブラリは、電子メールを送信するためのもう1つの一般的な選択肢です。次に例を示します。
$transport=Swift_SmtpTransport ::newInstance(‘mail.example.com’、587); //メールサーバーのアドレスとポート。自分のものがわからない場合は、[cPanel]-> [電子メール設定]に移動し、特定の電子メールアカウントについては、[その他]->[電子メールクライアントの構成]に移動します。そこに表示されます。
$ mailer =Swift_Mailer ::newInstance($ Transportation); //SMTPトランスポートの新しいインスタンスを具体的に作成します
$ Transportation-> setUsername(‘[email protected]’);
$transport-> setPassword(‘your_password_here’);$ message =Swift_Message ::newInstance();
$ message-> setSubject('電子メールの件名を設定');
$ message-> setFrom(array('[email protected]' =>'あなたの名前/会社名'));
$ message-> setTo(array($ email));$ message-> addPart(‘
電子メールに HTMLが必要な場合は、addPart()
’、‘text / html’);を使用します。$ result =$ mailer-> send($ message); //失敗するとFALSEブール値を返します
if(!$ result)
{
echo'failure';
}
else
{
echo'success';
}
一部のスタッフはPHPの経験があるため、これらのライブラリのいずれかまたは使用したい別のライブラリを使用して電子メールを送信するためにPHPコードの支援が必要な場合は、私たちにクエリを投稿してください。フォーラムのスタッフまたは顧客が喜んでお手伝いするWebホスティングフォーラム。