WAMP使用SMTP本地主机发送邮件
我需要使用PHP mail()
函数发送邮件从本地SMTP(使用Wamp,Xampp等..)。
有人可以给教程吗?
在我的文章中包含所有不同的方式似乎是不可能的,相反,我会指向不同的教程 :
-
使用HMailServer: https ://stackoverflow.com/a/16814318/2377343
-
使用各种方法: https : //stackoverflow.com/a/5773346/2377343
-
使用SendMail文件: http : //blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/
(应该在WAMP,XAMPP或其他方面工作…)
以下是实现此步骤的步骤:
-
通过这个链接下载sendmail.zip
- 现在,解压缩文件夹并将其放到C:/ wamp /中。 确保这四个文件存在:sendmail.exe,libeay32.dll,ssleay32.ddl和sendmail.ini。
-
打开sendmail.ini并configuration如下:
-
smtp_server = smtp.gmail.com
- SMTP_PORT = 465
- smtp_ssl = SSL
- DEFAULT_DOMAIN =本地主机
- error_logfile = error.log中
- debug_logfile =的debug.log
- auth_username = [your_gmail_account_username] @ gmail.com
- AUTH_PASSWORD = [your_gmail_account_password]
- pop3_server =
- pop3_username =
- pop3_password =
- force_sender =
- force_recipient =
-
主机名=本地主机
-
访问您的电子邮件帐户 点击齿轮工具>设置>转发和POP / IMAP> IMAP访问。 点击“启用IMAP”,然后保存您的更改。
-
运行你的WAMP服务器。 在Apache模块下启用ssl_module。
-
接下来,在PHP下启用php_openssl和php_sockets。
-
打开php.ini并将其configuration为下面的代码。 基本上,你只需要设置sendmail_path。
[mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = ; http://php.net/smtp-port ;smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = you@domain.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"
- 重新启动Wamp服务器
我希望这会为你工作..
如果您在php.ini中指定了smtp服务器和smtp端口,则可以直接从php mail()函数发送邮件,请首先向您的ISP请求SMTP服务器证书 。
SMTP = smtp.wlink.com.np //put your ISP's smtp server smtp_port = 25 // your ISP's smtp port.
然后重新启动Apache服务器,它将开始工作。 请享用 …
你可以使用这个库发送电子邮件,如果有本地xampp的问题,wamp …
class.phpmailer.php,class.smtp.php将此代码写入您的电子邮件function调用的文件中
include('class.phpmailer.php'); $mail = new PHPMailer(); $mail->IsHTML(true); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Username = "your email ID"; $mail->Password = "your email password"; $fromname = "From Name in Email"; $To = trim($email,"\r\n"); $tContent = ''; $tContent .="<table width='550px' colspan='2' cellpadding='4'> <tr><td align='center'><img src='imgpath' width='100' height='100'></td></tr> <tr><td height='20'> </td></tr> <tr> <td> <table cellspacing='1' cellpadding='1' width='100%' height='100%'> <tr><td align='center'><h2>YOUR TEXT<h2></td></tr/> <tr><td> </td></tr> <tr><td align='center'>Name: ".trim(NAME,"\r\n")."</td></tr> <tr><td align='center'>ABCD TEXT: ".$abcd."</td></tr> <tr><td> </td></tr> </table> </td> </tr> </table>"; $mail->From = "From email"; $mail->FromName = $fromname; $mail->Subject = "Your Details."; $mail->Body = $tContent; $mail->AddAddress($To); $mail->set('X-Priority', '1'); //Priority 1 = High, 3 = Normal, 5 = low $mail->Send();
我更喜欢使用PHPMailer脚本从本地主机发送电子邮件,因为它使我可以使用我的Gmail帐户作为SMTP。 您可以从http://phpmailer.worxware.com/findPHPMailer。; 有关如何将SMTP作为SMTP或任何其他SMTP使用的帮助,请参阅http://www.mittalpatel.co.in/php_send_mail_from_localhost_using_gmail_smtp 。 希望这可以帮助!
如果您有任何一个人在按照Afwe Wef给出的答案之后得到如下的错误
Warning: mail() [<a href='function.mail'>function.mail</a>]: SMTP server response: 550 The address is not valid. in c:\wamp\www\email.php
转到php.ini
; For Win32 only. ; http://php.net/sendmail-from sendmail_from = valideaccount@gmail.com
inputvalideaccount@gmail.com作为您用于在sendmail_from前configurationhMailserver的电子邮件ID。
你的问题将被解决。
在Windows 8上testingWamp server2.2(Apache 2.2.22,php 5.3.13)
如果您也遇到下面的错误
"APPLICATION" 6364 "2014-03-24 13:13:33.979" "SMTPDeliverer - Message 2: Relaying to host smtp.gmail.com." "APPLICATION" 6364 "2014-03-24 13:13:34.415" "SMTPDeliverer - Message 2: Message could not be delivered. Scheduling it for later delivery in 60 minutes." "APPLICATION" 6364 "2014-03-24 13:13:34.430" "SMTPDeliverer - Message 2: Message delivery thread completed."
您可能忘记将端口从25更改为465