Blog スタッフブログ

PHP システム開発

[PHP]SMTPメール送信

システム開発担当のTFです。

やり方

  • PHPMailer をダウンロードし、設置する( 今回のバージョンは、5.2.28 )
  • PHPMailer でSMTP設定を行う
  • PHPMailer でメールを送信する

サンプル

ダウンロードしたPHPMailer を直下に解凍する

<?php

// PHPMailerの読み込み
require './PHPMailer/class.phpmailer.php';
require './PHPMailer/class.smtp.php';

// メール設定
define("HOST", "メールのホスト");
define("USER", "メールのユーザー");
define("PASS", "メールのパスワード");

// 送信元
define("FROM_MAIL", "Fromのメアド");
define("FROM_NAME", "Frromの名前");

// メールタイトル
define("SUBJECT", "タイトル");

// デバッグ設定(1にするとデバッグログが表示される)
define("DEBUG", 0);

try {
	// PHPMailer実体化
	$mail = new PHPMailer();
	
	// SMTPサーバーの設定
	$mail->isSMTP();
	$mail->Host       = HOST; // SMTPサーバーのアドレス
	$mail->SMTPAuth   = true;  // SMTPAuthの有効化
	$mail->Username   = USER; // SMTPユーザー名
	$mail->Password   = PASS; // SMTPパスワード
   
	$mail->SMTPDebug = DEBUG; // デバッグ設定
	$mail->SMTPSecure = 'ssl'; // 暗号化
	$mail->Port       = 465;   // SMTPポート
	$mail->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false)); // 証明書のチェックの回避

	$mail->CharSet = 'UTF-8'; // 文字コード

	// メール内容の設定
	$mail->setFrom(FROM_MAIL, FROM_NAME);// FROM
	$mail->addAddress("送信先メアド", "送信先の名前");// TO

	// コンテンツ
	$mail->isHTML(false); 	// htmlメールの場合はtrueにする
	$mail->Subject = SUBJECT;// 件名
	$mail->Body    = "本文";// 本文

	// 送信
	$mail->send();

} catch (phpmailerException $e) {
	echo $mail->ErrorInfo;
} catch (Exception $e) {
	echo $e->getMessage();
}


?>