thinkphpを使ったことがある学生も多いと思いますが、thinkphpフレームワーク自体にもクラスライブラリがあります。この記事では、thinkphp外部PHPMailerクラスライブラリの使い方について説明します。
方法 1:
1. PHPmailer をダウンロードし、ThinkPHP\Extend\Vendor フォルダーに解凍します
2. ThinkPHP に付属の Vendor メソッドを使用して、サードパーティのクラス ライブラリをロードします3. 関連するパラメータを設定します
4. 任意の呼び出しを容易にするために、common.php にメールを送信するための関数を作成し、この関数を呼び出してメールを送信できます
/**
* 邮件发送
*/
function sendMail(){
// 载入邮件发送类库
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer;
$mail->isSMTP(); //设置PHPMailer使用SMTP服务器发送Email
$mail->Host = 'smtp.163.com'; //指定SMTP服务器 可以是smtp.126.com, gmail, qq等服务器 自行查询
$mail->SMTPAuth = true;
$mail->CharSet='UTF-8'; //设置字符集 防止乱码
$mail->Username = 'username@163.com'; //发送人的邮箱账户
$mail->Password = 'xxxxxxxxxx'; //发送人的邮箱密码
$mail->Port = 25; //SMTP服务器端口
$mail->From = 'user@admin.com'; //发件人邮箱地址
$mail->FromName = '在路上'; //发件人名称
$mail->addAddress('guest@test.com'); // 收件人邮箱地址 此处可以发送多个
$mail->WordWrap = 50; // 换行字符数
$mail->isHTML(true); // 设置邮件格式为HTML
$mail->Subject = '青岛XXX'; //邮件标题
$mail->Body = '尊敬的先生/女士:<br/>非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户<a href=####>######</a><br/>如您没有相关意向,请忽略';
if(!$mail->send()) {
echo '邮件发送失败.';
echo '错误信息: ' . $mail->ErrorInfo;
} else {
echo '邮件发送成功';
}
}
送信内容、送信タイトル、受信者を変数として設定できます。例: sendMail($body, $title, $recipient) 受信者は次のとおりです。配列の形式で関数内でループするだけで完了です!! SMTP サーバーと送信者の一部の設定は Conf\config.php ファイルに書き込むことができ、C() メソッドを直接呼び出すだけです。
<br/>方法 2:
ステップ 1 まず、PHPMailer.class.php 圧縮パッケージをダウンロードします (この記事の上に添付ファイルのダウンロードがあります)解凍後、次の 3 つのファイルが表示されます:
1.class.pop3.php 2.class.smtp.php 3.PHPMailer.class.php PHPMailer.class.php这个文件就是核心的文件,把这个文件放到ThinkPHP的扩展包下路径如\下:ThinkPHP\Extend\Library
<br/>
<br/>
3 番目のステップは、ThinkPHP で次のコードを書きます。 conf.php ファイル:注: 以下は私自身の QQ メールボックスのテストです。具体的には、メールボックスの stmp を自分で開く必要があります。
returnarray( //'配置项'=>'配置值' 'MAIL_ADDRESS'=>'799783009@qq.com', // 邮箱地址 'MAIL_LOGINNAME'=>'799783009@qq.com', // 邮箱登录帐号 'MAIL_SMTP'=>'smtp.qq.com', // 邮箱SMTP服务器 'MAIL_PASSWORD'=>'******', // 邮箱密码 'SHOW_PAGE_TRACE'=>true, );
// 本类由系统自动生成,仅供测试用途
classIndexAction extendsAction {
publicfunctionindex(){
if(!empty($_POST['title']) && !empty($_POST['content'])){
if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content']))
echo'发送成功!';
else
echo'发送失败';
}
$this->assign('title','测试标题');
$this->display();
}
}
<br/>メソッド 2 は標準メソッドとみなされ、すべてを thinkphp クラスに入れることがエディターによって推奨されます。それを使用する 2 番目のオプション。
php は smtp クラスを使用して簡単にメールを送信します
php の組み込みの mail() 関数がメールを送信できないという事実にまだ苦労している場合、この記事が役に立ちます。
phpはsmtpクラスを使用してメールを送信しますが、私はこれを何度も試してきましたが、基本的には問題はありません。このブログのバックグラウンドでは、ブロガーがメッセージに返信すると、新しい返信プロンプトを含む電子メールが自動的にネチズンに送信されます。これもこの記事の方法を使用して実装されます。
smtp クラスを使用して電子メールを送信する方法は、実際には非常にシンプルで安定しています。このクラスは、それを呼び出すだけです。いくつかの簡単な設定でメールを送信できます。ぜひ試してみてはいかがでしょうか。
以下はコア コードです:<?php
require_once "email.class.php";
//******************** 配置信息 ********************************
$smtpserver = "smtp.126.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱
$smtpemailto = $_POST['toemail'];//发送给谁
$smtpuser = "new2008oh";//SMTP服务器的用户帐号
$smtppass = "您的邮箱密码";//SMTP服务器的用户密码
$mailtitle = $_POST['title'];//邮件主题
$mailcontent = "<h1>".$_POST['content']."</h1>";//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
//************************ 配置信息 ****************************
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = false;//是否显示发送的调试信息
$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
echo "<div style='width:300px; margin:36px auto;'>";
if($state==""){
echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";
echo "<a href='index.html'>点此返回</a>";
exit();
}
echo "恭喜!邮件发送成功!!";
echo "<a href='index.html'>点此返回</a>";
echo "</div>";
?>
詳細については、PHP 中国語 Web サイトで検索してください~
関連する推奨事項:
thinkphp を使用して短いリンクを作成する方法をみんなに教えましょう
thinkphp を実装してネイティブ SQL ステートメントを実行する方法 thinkphp でデータベースを更新する 5 つの方法。 thinkphp で複数テーブル関連のクエリを実装するコード例以上がThinkPHP PHPMailer を使用して電子メールを送信する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。