ホームページ > バックエンド開発 > PHPチュートリアル > PHP でメールを送信する 2 つの方法。PHP では smtp を使用してメールを送信します。

PHP でメールを送信する 2 つの方法。PHP では smtp を使用してメールを送信します。

WBOY
リリース: 2016-07-30 13:31:51
オリジナル
1242 人が閲覧しました

原文: http://www.jbxue.com/php/25502.html
この記事では、PHP でメールを送信する 2 つの方法を紹介します。それらは、PHP の組み込みの mail() 関数を使用してメールを送信する方法です。 SMTP プロトコルをカプセル化した電子メール クラス 電子メールを送信するには、SMTP プロトコルでカプセル化された電子メール クラスを使用して電子メールを送信することをお勧めします。

PHPでメールを送信するには?さまざまな方法がありますが、最も一般的に使用されるのは SMTP プロトコルを使用して電子メールを送信することです。
特別な推奨事項: php メール コード コレクション

1. PHP の組み込み mail() 関数を使用します

コードをコピーします コード例:

$to = "test@163 .com"; //受信者
$subject = "テスト"; //件名
$message = "これはテストメールです!"; //テキスト
mail($to,$subject,$message);

レポート直接エラー:
警告: mail() [function.mail]: 「localhost」ポート 25 でメールサーバーに接続できませんでした。php.ini の「SMTP」および「smtp_port」設定を確認するか、D:/ の ini_set() を使用してください。 www /Zend/email/email.php の 10 行目

ローカル SMTP サーバーが必要です。コードは次のように変更されています:

コードをコピー コード例:

$to = "test@163.com";//受信者
$subject = "テスト";//メールの件名
$message = "これはテストメールです!";//メールの本文
ini_set('SMTP','smtp. 163.com ');//送信側 SMTP サーバー
ini_set('smtp_port',25);//送信側 SMTP サーバー ポート
ini_set('sendmail_from',"admin@163.com");//送信者のメール アドレス
mail($to,$subject,$message);

続行エラー:
警告: mail() [function.mail]: SMTP サーバーの応答: 553 認証です required,smtp2,DNGowKD7v5BTDo9NnplVBA--.1171S2 1301220947 inD:/www/Zend/email/email.php on line 9

検証情報が必要です。どこで設定するのでしょうか?

mail() 関数を使用して電子メールを送信するには、SMTP 認証なしで電子メールを送信できるメール サーバーが必要です。しかし、現在のSMTPメールサーバーは基本的に認証が必要なため、これを使ってメールを送信したい場合は、認証を必要としないローカルSMTPサーバーを構築するしかありません。
結論: mail() 関数を使用して電子メールを送信するには、認証を必要としない SMTP サーバーが必要です。

2. SMTP プロトコルをカプセル化する電子メール クラスを使用する
電子メールの送信には SMTP プロトコルを使用することをお勧めします。

PEAR 拡張機能の Mail クラスを使用することをお勧めします。これには強力な機能があり、プレーン テキストと HTML 形式のメールをサポートでき、適切な設定により中国語の文字化けが発生しません。アタッチメントなどをサポートできます。

サーバー上で pear install Mail コマンドを使用すると、サーバーに簡単にインストールできます。十分なサーバー権限を持たない学生は、クラスの PHP ソース コードを直接ダウンロードしてインクルードすることもできます。

注: Mail クラスは Net/SMTP.php と Mail/mime.php に依存しているため、使用する場合は、これらを一緒にダウンロードして一緒にインクルードする必要があります。

詳しいインストール方法は公式サイト http://pear.php.net/package/Mail でご覧いただけます。

例、メールを送信する Mail クラスのメソッド。

コードをコピー コード例:

// Pear Mail 拡張機能
require_once('Mail.php');
require_once('Net/SMTP.php'); array();
$smtpinfo["host"] = "smtp.163.com";//SMTP サーバー
$smtpinfo["port"] = "25"; ] = "username@163.com"; //送信者の電子メール
$smtpinfo["password"] = "password";//送信者の電子メール パスワード
$smtpinfo["timeout"] = 10;//ネットワーク タイムアウト、秒
$smtpinfo["auth"] = true;//ログイン検証
//$smtpinfo["debug"] = true;//デバッグモード

// 受信者リスト
$mailAddr = array( 'receiver@163.com' );

//送信者表示情報
$from = "名前 ";

// 受信者表示情報

//メールのタイトル
$subject = "これはテストメールです";

// メールの本文
$content = "

好きなものを書いてください

";
$contentType = "text/html; charset=utf-8";

//改行記号 Linux: n Windows: rn
$crlf = "n"; $mime = new Mail_mime($crlf); >setHTMLBody($content);

$param['text_charset'] = 'utf-8';
$param['head_charset'] = 'utf -8';
$body = $mime->get($param);
$headers["From"] = $headers["To"] = $ to;
$headers["Subject"] = $subject;
$headers = $mime-> ;headers($headers); ::factory("smtp", $smtpinfo);


$mail = $smtp->send($mailAddr, $headers, $body);

if (PEAR) ::isError($mail)) {
//送信失敗
echo 'メール送信失敗: ' . $mail->getMessage()."n";
}
// 送信成功
echo "成功!n";
}

上記では、php でメールを送信する 2 つの方法を紹介しました。PHP は smtp を使用してメールを送信します。PHP チュートリアルに興味のある友人の参考になれば幸いです。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート