php 邮件程序设置功能开关不起作用
php mailer settings function switch not working
我正在尝试为 PHPmailer 进行不同的设置 function/switch。
(像这样:
function create_mailer($current_site,$from,$from_name){
require_once 'classes/PHPMailer/PHPMailerAutoload.php';
$mailer = new PHPMailer;
switch ($current_site){
case 'site1':
$mailer->isSMTP();
$mailer->Host = 'mail.site1.com';
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->Username = 'username1';
$mailer->Password = 'password1';
$mailer->From = $from;
$mailer->FromName = $from_name;
$mailer->isHTML(true);
return $mailer;
break;
case 'site2':
$mailer = new PHPMailer;
$mailer->isSMTP();
$mailer->Host = 'mail.site2.com';
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->Username = 'username2';
$mailer->Password = 'password2';
$mailer->From = $from;
$mailer->FromName = $from_name;
$mailer->isHTML(true);
return $mailer;
break;
}
}
在 index.php 我做了类似的东西 :
require 'functions/create_mailer.php';
$mailer = create_mailer('site1','mail1@sitename1.com','mailname');
$mail = new Mailer($mailer);
$mail->send('mailtemplate/new_bid.php',['something'=>'else'],function($m) {
$m->to('email@to.somebody');
$m->subject('mailsubject');
});
当我不使用开关时,邮件程序正在工作。
(如果设置只是在 index.php 我的意思)
我不明白为什么这不起作用,因为我一直认为这种方法一定有效:)
请指教
在此先致谢。
您正在调用 create_mailer('sitename1','mail1@sitename1.com','mailname');
但正在使用 'site1'
进行测试。
为您的开关添加默认值,或调用 create_mailer('site1','mail1@sitename1.com','mailname');
我正在尝试为 PHPmailer 进行不同的设置 function/switch。 (像这样:
function create_mailer($current_site,$from,$from_name){
require_once 'classes/PHPMailer/PHPMailerAutoload.php';
$mailer = new PHPMailer;
switch ($current_site){
case 'site1':
$mailer->isSMTP();
$mailer->Host = 'mail.site1.com';
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->Username = 'username1';
$mailer->Password = 'password1';
$mailer->From = $from;
$mailer->FromName = $from_name;
$mailer->isHTML(true);
return $mailer;
break;
case 'site2':
$mailer = new PHPMailer;
$mailer->isSMTP();
$mailer->Host = 'mail.site2.com';
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->Username = 'username2';
$mailer->Password = 'password2';
$mailer->From = $from;
$mailer->FromName = $from_name;
$mailer->isHTML(true);
return $mailer;
break;
}
}
在 index.php 我做了类似的东西 :
require 'functions/create_mailer.php';
$mailer = create_mailer('site1','mail1@sitename1.com','mailname');
$mail = new Mailer($mailer);
$mail->send('mailtemplate/new_bid.php',['something'=>'else'],function($m) {
$m->to('email@to.somebody');
$m->subject('mailsubject');
});
当我不使用开关时,邮件程序正在工作。 (如果设置只是在 index.php 我的意思) 我不明白为什么这不起作用,因为我一直认为这种方法一定有效:)
请指教
在此先致谢。
您正在调用 create_mailer('sitename1','mail1@sitename1.com','mailname');
但正在使用 'site1'
进行测试。
为您的开关添加默认值,或调用 create_mailer('site1','mail1@sitename1.com','mailname');