PHPのemail()関数を使ってメールを送信する方法

王林
リリース: 2023-05-22 15:12:01
オリジナル
2364 人が閲覧しました

インターネットの継続的な発展と普及により、電子メールは人々の日常的なコミュニケーションに不可欠な部分になりました。 Web サイトのバックエンド開発プロセスでは、電子メール通知や登録確認などの機能を満たすために、PHP を使用して電子メールを送信することが必要になることがよくあります。 PHP には電子メールを送信するための email() 関数が用意されており、その使い方は非常に簡単です。この記事では、PHPのemail()関数を使ってメールを送信する方法を詳しく紹介します。

1. SMTP 設定

email() 関数を使用して電子メールを送信する前に、SMTP を設定する必要があります。 SMTP は Simple Mail Transfer Protocol の略で、電子メール送信の標準プロトコルです。 SMTP では、メールを送信するためにオペレーターが提供する SMTP サーバーが必要です。一般に、オペレーターは SMTP サーバーのアドレス、ポート、アカウント番号、パスワードなどの情報を提供します。この情報を PHP に設定する必要があります。

次は SMTP 構成の例です:

$smtpserver = "smtp.qq.com"; // SMTP服务器地址
$smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口)
$smtpusermail = "xxx@qq.com"; // 发件人邮箱账号
$smtpuser = "xxx"; // 发件人邮箱用户名
$smtppass = "xxx"; // 发件人邮箱密码
ログイン後にコピー

2. email() 関数を使用して電子メールを送信する

email() 関数を使用して電子メールを送信するには、次のものが必要です。パラメータ:

email($to, $subject, $body, $headers);
ログイン後にコピー

このうち、$to は受信者の電子メール アドレスを指し、$subject は電子メールの件名を指し、$body は電子メールの内容を指し、$headers は電子メールのヘッダー情報を指します (オプション)。

email() 関数の具体的な使用法は次のとおりです。

$to = "xxx@xxx.com"; // 收件人邮箱地址
$subject = "测试邮件"; // 邮件主题
$body = "这是一封测试邮件,请勿回复!"; // 邮件内容
$mailtype = "HTML"; // 邮件类型(HTML或文本)
$charset = "UTF-8"; // 编码方式

// MIME版本
$headers = "MIME-Version:1.0
";
// 邮件类型
$headers .= "Content-type:text/".$mailtype.";charset=".$charset."
";
// 发件人地址
$headers .= "From: xxx@xxx.com
";
// 服务器认证信息
$headers .= "Authorization: login ".$smtpuser.",password=".$smtppass."
";

// 发送邮件
$smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass);
$smtp->debug = FALSE;
$smtp->sendmail($to, $smtpusermail, $subject, $body, $headers);

echo "邮件发送成功!";
ログイン後にコピー

電子メールを送信する前に、SMTP クラス インスタンスを作成する必要があります。 SMTP クラスは、PHP で参照する必要があるサードパーティのクラス ライブラリです。以下は、SMTP クラス ライブラリの参照メソッドです:

require_once("class.smtp.php");
require_once("class.phpmailer.php");
ログイン後にコピー

3. 完全なコード

上記のコードに基づいて、コードを完成させ、メソッドをよりよく理解して使用するためにいくつかの調整を加えます。 email()関数。完全なコードは次のとおりです:

// SMTP配置
$smtpserver = "smtp.qq.com"; // SMTP服务器地址
$smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口)
$smtpusermail = "xxx@qq.com"; // 发件人邮箱账号
$smtpuser = "xxx"; // 发件人邮箱用户名
$smtppass = "xxx"; // 发件人邮箱密码

// 邮件配置
$to = "xxx@xxx.com"; // 收件人邮箱地址
$subject = "测试邮件"; // 邮件主题
$body = "这是一封测试邮件,请勿回复!"; // 邮件内容
$mailtype = "HTML"; // 邮件类型(HTML或文本)
$charset = "UTF-8"; // 编码方式

// MIME版本
$headers = "MIME-Version:1.0
";
// 邮件类型
$headers .= "Content-type:text/".$mailtype.";charset=".$charset."
";
// 发件人地址
$headers .= "From: xxx@xxx.com
";
// 服务器认证信息
$headers .= "Authorization: login ".$smtpuser.",password=".$smtppass."
";

// 引用SMTP和PHPMailer类库
require_once("class.smtp.php");
require_once("class.phpmailer.php");

// 发送邮件
$smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass);
$smtp->debug = FALSE;
$smtp->sendmail($to, $smtpusermail, $subject, $body, $headers);

echo "邮件发送成功!";
ログイン後にコピー

email() 関数を使用して電子メールを送信するのは非常に簡単です。SMTP と電子メール情報を構成し、SMTP クラスで sendmail() メソッドを呼び出すだけです。送信プロセス中は、次の点に注意する必要があります:

1. SMTP クラス ライブラリはサードパーティのクラス ライブラリであり、PHP で参照する必要があります。

2. email() 関数内の電子メールのコンテンツには、< などの特別な HTML タグを含めることはできません。この記号は SMTP プロトコルの仕様に準拠しておらず、電子メールの送信に失敗するためです。送信済み。

3. SMTPサーバーにはメールのサイズ制限があるため、メールが大きすぎると送信できない場合があります。

つまり、PHP の email() 関数を使用して電子メールを送信すると、Web サイトのバックエンド開発におけるさまざまな電子メール通知、登録確認、パスワード取得などの機能を実現でき、非常に便利です。この記事が PHP 開発者に役立つことを願っています。

以上がPHPのemail()関数を使ってメールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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