现在,在您将此问题标记为其他问题的副本之前,请考虑此
我从2天开始就一直在阅读这个问题,并尝试了各种建议的解决方案来解决以下代码:
byte[] b = new byte[buffer.remaining()];
现在,details是一个传递一些关于邮件的必要信息的数组,config是一个帮助我访问预定义值的类。这一切只是为了提高代码的可重用性,并使用相同的代码块发送更多类型的电子邮件。
我面临的主要问题是,当我在localhost上使用 public static function send($details = array()){
require_once ('includes/emails/'.$details['file']);
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPSecure="tls";
$mail->SMTPAuth = true;
$mail->Username = Config::get('mailer/username');
$mail->Password = Config::get('mailer/password');
$mail->SetFrom(Config::get('mailer/username'));
$mail->AddAddress($details['email']);
$mail->Subject = $details['subject'];
$mail->MsgHTML($msg);
if($mail->Send()){
return true;
}
return false;
}
功能时需要一段时间才能正常发送邮件,但是在我的DO服务器上,它仍会发送电子邮件,但最终会发送到整个邮箱网站进入超时状态!
我尝试过使用isMail和isSendmail这些是一些流行的解决方案,但我不知道他们为什么不为我工作!所以isSMTP现在似乎是我唯一的goto选项。
请帮助我如何在没有服务器超时的情况下从我的服务器发送电子邮件! (注意我也试过,phpmailer的超时功能但没有工作)