从PHPmailer更改为sendmail
我想通过原始的老式sendmail发送电子邮件 我需要以何种方式更改此代码才能使用sendmail 我试过了,但我总是会犯一些很难看的错误,我试着把IsMail改成IsSedmail,但还是没有按原来的方式发送 Phpmailer发送了3封电子邮件,网站需要花费很多时间才能发送,所以我想转到旧的普通“邮件(发送至…”,但问题是,我迷失在所有代码中,所以请帮助从PHPmailer更改为sendmail,php,sendmail,phpmailer,Php,Sendmail,Phpmailer,我想通过原始的老式sendmail发送电子邮件 我需要以何种方式更改此代码才能使用sendmail 我试过了,但我总是会犯一些很难看的错误,我试着把IsMail改成IsSedmail,但还是没有按原来的方式发送 Phpmailer发送了3封电子邮件,网站需要花费很多时间才能发送,所以我想转到旧的普通“邮件(发送至…”,但问题是,我迷失在所有代码中,所以请帮助 function send_mail($rec_email,$subject,$message, $IsHtml=false, $cc=a
function send_mail($rec_email,$subject,$message, $IsHtml=false, $cc=array(), $bcc=array()) {
global $THIS_BASEPATH, $btit_settings;
if (!method_exists('PHPMailer','IsMail'))
include($THIS_BASEPATH.'/phpmailer/class.phpmailer.php');
$mail=new PHPMailer();
if ($btit_settings['mail_type']=='php') {
$mail->IsMail(); # send via mail
if (!empty($cc))
$mail->AddCustomHeader('Cc: '.implode(',',$cc));
if (!empty($bcc))
$mail->AddCustomHeader('Bcc: '.implode(',',$bcc));
} else {
$mail->IsSMTP(); # send via SMTP
$mail->Host = $btit_settings['smtp_server']; # SMTP servers
$mail->Port = $btit_settings['smtp_port']; # SMTP port
$mail->SMTPAuth = true; # turn on SMTP authentication
$mail->Username = $btit_settings['smtp_username']; # SMTP username
$mail->Password = $btit_settings['smtp_password']; # SMTP password
if (!empty($cc))
foreach($cc as $carbon_copy)
$mail->AddCC($carbon_copy[0],$carbon_copy[0]);
if (!empty($bcc))
foreach($bcc as $blind_carbon_copy)
$mail->AddBCC($blind_carbon_copy[0],$blind_carbon_copy[0]);
}
$mail->From = $btit_settings['email'];
$mail->FromName = $btit_settings['name'];
$mail->CharSet = $btit_settings['default_charset'];
$mail->IsHTML($IsHtml);
$mail->AddAddress($rec_email);
$mail->AddReplyTo($btit_settings['email'],$btit_settings['name']);
$mail->Subject = $subject;
$mail->Body = $message;
return ($mail->Send())?true:$mail->ErrorInfo;
}
非常感谢。PHPmailer不是“慢”的缩写,它可能是您指定的SMTP服务器。不过,不要停止使用PHPmailer。PHPmailer在幕后做了大量额外的工作来正确发送邮件 要使用PHP的
mail()
replace通过本地服务器发送邮件,请执行以下操作:
$mail->IsSMTP(); # send via SMTP
$mail->Host = $btit_settings['smtp_server']; # SMTP servers
$mail->Port = $btit_settings['smtp_port']; # SMTP port
$mail->SMTPAuth = true; # turn on SMTP authentication
$mail->Username = $btit_settings['smtp_username']; # SMTP username
$mail->Password = $btit_settings['smtp_password']; # SMTP password
与:
就这样
如果您确定服务器已安装Sendmail[或Postfix或Exim等插入式替换件],则可以使用:
$mail->isSendmail();
但是,通过使用web服务器发送邮件,您现在依赖于:
首先说sendmail,然后说mail()php函数,这些不是相同的东西注释整个函数代码,只放置
mail(to…)
和所需的参数SphpMail可以使用mail(),不好的主意,但它有配置。使用邮件的基本示例:好的,我将IsMail改为IsSendmail现在网站工作正常,但没有发送电子邮件,IsMail工作,但是,正在发送3封电子邮件,而不是一封,我的托管服务器给出一个错误,网站立即关闭,并在一分钟内刷新页面。最后,我搜索一个免费的托管网站,我添加了一个电子邮件地址,我用它作为smtp服务器,就像一个魅力,谢谢你的帮助。
$mail->isSendmail();