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'>&nbsp;</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>&nbsp;</td></tr> <tr><td align='center'>Name: ".trim(NAME,"\r\n")."</td></tr> <tr><td align='center'>ABCD TEXT: ".$abcd."</td></tr> <tr><td>&nbsp;</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