doulu7258
2013-12-02 12:05
浏览 131
已采纳

从localhost服务器xampp / sendmail发送电子邮件

I have set up a PHP site that will be locally hosted. One function of this is to send an email with items from a shopping cart. When hosted online (for testing) the email() function worked perfectly sending email.

I'm now transferring the site to a local machine, and am unable to send email.

Originally the emails came from servername@hostname.co.uk which worked well, although I'd happily set up a gmail or similar to handle the sending.

I've read a few tutorials about setting things up and have firstly tried using sendmail and a gmail address.

I'm wondering if there's something simple I've missed in setting up the ini files.

I edited my php.ini file as follows:

[mail function]
 XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = smtp.gmail.com
 smtp_port = 587

 For Win32 only.
 http://php.net/sendmail-from
sendmail_from = shipimageemail@gmail.com

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=Off

; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = "C:\xampp\php\logs\php_mail.log"

and then my sendmail.ini file as follows:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=shipimageemail@gmail.com
auth_password=password
force_sender=shipimageemail@gmail.com

图片转代码服务由CSDN问答提供 功能建议

我已经设置了一个将在本地托管的PHP站点。 其中一个功能是发送包含购物车中商品的电子邮件。 当在线托管(用于测试)时,email()函数完美地发送电子邮件。

我现在将网站转移到本地计算机,但无法发送电子邮件。

最初这些电子邮件来自servername@hostname.co.uk,虽然我很乐意设置一个gmail或类似的邮件来处理发送。

我已经阅读了一些关于设置的教程,并且首先尝试使用sendmail和gmail地址。

我想知道在设置ini文件时是否有一些简单的错误。

我编辑了我的php.ini文件,如下所示:

  [mail function] 
 XAMPP:如果你想要注释掉这个 使用像Mercury这样的SMTP服务器
 SMTP = smtp.gmail.com 
 smtp_port = 587 
 
仅适用于Win32。
 http://npph.net/sendmail-from
sendmail_from = shipimageemail@gmail.com  
 \ N;  XAMPP重要说明(1):如果XAMPP安装在带有空格的基本目录中(例如c:\ program filesC:\ xampp),则fakemail和mailtodisk无法正常工作。
;  XAMPP重要说明(2):在这种情况下,请复制根文件夹中的sendmail或mailtodisk文件夹(例如C:\ sendmail),并将其用于sendmail_path。  \ N;  XAMPP:如果您想使用fakemail转发到您的邮箱(sendmail文件夹中的sendmail.exe),请注释掉这一点
 
ndndmail_path =“\”C:\ xampp \ sendmail \ sendmail.exe \“ -  t”
 \  N;  XAMPP:如果您想使用mailToDisk,请注释掉它,它会将所有邮件写入C:\ xampp \ mailoutput文件夹
; sendmail_path =“C:\ xampp \ mailtodisk \ mailtodisk.exe”
 
; 强制添加指定参数作为额外参数传递
; 到sendmail二进制文件。 这些参数将始终替换
的值;  mail()的第5个参数,即使在安全模式下也是如此。
; mail.force_extra_parameters = 
 
; 添加X-PHP-Originating-Script:将包含脚本的uid,后跟文件名
 
 
 
 
 
 
 
 \ _ / / _ 记录所有mail()调用,包括脚本的完整路径,行#,地址和头文件
mail.log =“C:\ xampp \ php \ logs \ php_mail.log”
    
 
 

然后我的sendmail.ini文件如下:

  [sendmail] 
 
smtp_server = smtp.gmail.com 
smtp_port = 587 
error_logfile  = error.log 
debug_logfile = debug.log 
auth_username=shipimageemail@gmail.com 
auth_password = password 
force_sender=shipimageemail@gmail.com 
   
 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • drmeu26880 2014-04-15 08:08
    已采纳

    Try this

    sendmail.ini

    [sendmail]

    smtp_server=smtp.gmail.com
    smtp_port=465
    smtp_ssl=ssl
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=[email]@gmail.com
    auth_password=[email password]
    pop3_server=
    pop3_username=
    pop3_password=
    force_sender=[email]@gmail.com
    force_recipient=
    hostname=smtp.gmail.com
    

    php.ini

    [mail function]

    SMTP = smtp.gmail.com
    smtp_port = 465
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    mail.add_x_header=Off
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题