问:我已经启动并运行了Shirts4Mike项目,并已安装了PHPMailer代码。我没有收到任何错误,但实际上没有发送任何电子邮件。
我想我读到某个地方Windows没有电子邮件服务器,因此我正在阅读如何设置一个电子邮件服务器的过程。
但是我丈夫说,他可以将代码放入Excel工作表中,然后将其发送给电子邮件,因此我不需要这样做。
我是否需要设置一个单独的电子邮件服务器以便在Windows计算机上从我的代码发送电子邮件?
答:PHPmailer确实需要可以通过SMTP与之通信的网络服务器。如果您使用的是Windows Server,则可以在本地计算机上设置邮件服务器,也可以将PHPmailer指向任何其他SMTP服务器,包括一些免费电子邮件公司(例如gmail)提供的免费SMTP。
Excel还需要在VB脚本中设置SMTP连接,也许您丈夫使用的Excel工作表中已经配置了SMTP连接,但是仍然需要。
要将gmail用作SMTP服务器,请执行以下操作:
<?php
需要 'PHPMailerAutoload.php' ;
$ mail =新的PHPMailer ; // $ mail-> SMTPDebug = 3; //启用详细的调试输出$ mail- > isSMTP (); //将邮件程序设置为使用SMTP $ mail- > Host = “ smtp.gmail.com” ; //将GMAIL设置为SMTP服务器$ mail- > SMTPAuth = true ; //启用SMTP身份验证$ mail- > Username = “ yourusername@gmail.com” ; // GMAIL用户名$ mail- >
密码 = “ yourpassword” ; // GMAIL密码
$ mail- > SMTPSecure = 'tls' ; //启用TLS加密,`ssl`也接受
$
mail- > Port = 587 ; //连接到$ mail的TCP端口-> setFrom ('from@example.com' ,'Mailer' ); $ mail- > addAddress ('joe@example.net ' ,'Joe用户' ); //添加收件人$ mail- > addAddress ('ellen@example.com '
//名称是可选的
$ mail- > addReplyTo ('info@example.com' , 'Information' );
$ mail- > addCC ('cc@example.com' );
$ mail- > addBCC ('bcc@example.com' );
$ mail- > addAttachment ('/ var/tmp/file.tar.gz ' ); //添加附件$ mail- > addAttachment ('/tmp/image.jpg' ,'new.jpg' ); //可选名称$ mail- > isHTML (true );
//将电子邮件格式设置为HTML
$ mail- > Subject = 'Here is the subject' ; $ mail- > Body = '这是HTML邮件正文<b>粗体!</ b>' ; $ mail- > AltBody = '这是非HTML邮件客户端的纯文本正文' ; if (!$ mail- > send ()){ echo '无法发送消息。; echo '邮件错误:' 。$ mail- > ErrorInfo ; } else {回声
“消息已发送” ;
}
?>
答:我的猜测是,您使用的是Windows操作系统,并且正在运行XAMPP之类的程序才能具有本地操作系统。如果是这样,可以将XAMPP配置为发送电子邮件,尽管我不知道该怎么做。我的Slim课程也有类似的问题。在现场环境中运行良好。您也可以将PHPMailer设置为通过gmail发送。