我们在使用PHPMailer使用Gmail来发送邮件的连接smtp服务器错误提示:smtp error could not connect to smtp host !了,这个是因为extension=php_openssl.dll未开启导致的哦。
使用的PHPMailer版本:5.2.1,以下是PHPMailer的example文件夹里给出的:test_gamil_basic.php的部分代码,代码如下:
- $mail = new PHPMailer();
- $body = file_get_contents('contents.html');
- $body = eregi_replace("[]",'',$body);
- $mail->IsSMTP();
- $mail->SMTPDebug = 2;
-
-
- $mail->SMTPAuth = true;
- $mail->SMTPSecure = "ssl";
- $mail->Host = "smtp.gmail.com";
- $mail->Port = 465;
- $mail->Username = "yourusername@gmail.com";
- $mail->Password = "yourpassword";
- $mail->SetFrom('name@yourdomain.com', 'First Last');
- $mail->AddReplyTo("name@yourdomain.com","First Last");
- $mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic";
- $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
- $mail->MsgHTML($body);
- $address = "whoto@otherdomain.com";
- $mail->AddAddress($address, "John Doe");
- $mail->AddAttachment("images/phpmailer.gif");
- $mail->AddAttachment("images/phpmailer_mini.gif");
- if(!$mail->Send()) {
- echo "Mailer Error: " . $mail->ErrorInfo;
- } else {
- echo "Message sent!";
- }
按照这个例子给出的代码操作,我遇到了以下错误:
提示您 smtp error could not connect to smtp host !的错误提示,google了下,发现是需要开启PHP的openssl扩展:
extension=php_openssl.dll //去掉最前面的分号,重启apache或nginx服务器。
HoHo~成功发送。