当前位置:  开发笔记 > 编程语言 > 正文

php.ini和SMTP = - 如何传递用户名和密码

如何解决《php.ini和SMTP=-如何传递用户名和密码》经验,为你挑选了7个好方法。

My ISP帐户要求我发送出站SMTP邮件的用户名和密码.

我如何PHP使用这个时候执行php.mail()?php.ini文件只包含服务器项(SMTP= )From: (sendmail_from= ).



1> sugunan..:

我在php.ini文件中应用以下详细信息.它的工作正常.

SMTP = smtp.example.com
smtp_port = 25
username = info@example.com
password = yourmailpassord
sendmail_from = info@example.com

这些详细信息与Outlook设置相同.


对我不起作用,并且无法找到任何表明用户名或密码是有效的php.ini指令的文档
在PHP 5.6.20上没有为我工作:`警告:mail():SMTP服务器响应:530 5.7.57 SMTP; 客户端未经过身份验证,无法在MAIL FROM`期间发送匿名邮件

2> daremon..:

PHP mail()命令不支持身份验证.你的选择:

    PHPMailer - 教程

    梨 - 教程

    自定义函数 - 请参阅备注部分中的各种解决方案:http://php.net/manual/en/ref.mail.php


值得注意的是,PHP`邮件()`*不*如果是安装在服务器和(b)在php.ini文件中提供认证细节上(一)sendmail的支持认证.请参阅下面的答案了解详情

3> 小智..:

使用Fake sendmail for Windows发送邮件.

    创建一个名为文件夹sendmailC:\wamp\.

    在这些提取4个文件sendmail夹:sendmail.exe,libeay32.dll,ssleay32.dllsendmail.ini.

    然后配置C:\wamp\sendmail\sendmail.ini:

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password

    以上内容适用于Gmail帐户.然后配置php.ini:

    sendmail_path ="C:\ wamp\sendmail\sendmail.exe -t"

    现在,重新启动Apache,这基本上就是你需要做的.



4> 小智..:

PHP 确实对mail-command进行了身份验证!

以下是WAMPSERVER的工作(windows,php 5.2.17)

php.ini中

[mail function]
; For Win32 only.
SMTP = mail.yourserver.com
smtp_port = 25
auth_username = smtp-username
auth_password = smtp-password
sendmail_from = you@yourserver.com


对我不起作用,我认为你使用的是sendmail而不是smtp.
这对我来说不起作用,IIS 5.3上的PHP 5.3.8.我查看了源代码,似乎实际上没有实现smtp身份验证.

5> Eric_WVGG..:

我更喜欢PHPMailer工具,因为它不需要PEAR.但无论哪种方式,您都有一个误解:您不希望为SMTP用户和密码设置PHP服务器范围.这应该是每个应用程序(或每页)设置.如果要在不同的PHP页面中使用相同的帐户,请将其添加到某种settings.php文件中.



6> B Seven..:

在这一整天工作之后,我终于找到了解决方案.以下是我使用WAMP从Windows XP发送的方式.

    使用Google的SMTP服务器.您可能需要一个帐户.

    下载并安装Fake Sendmail.我刚刚下载了它,解压缩并将其放入WAMP文件夹中.

    创建一个测试PHP文件.见下文.


    更新php.ini文件和sendmail.ini文件(sendmail.ini在sendmail文件夹中).

    如果它不起作用,请检查刚刚创建的sendmail文件夹中的error.log文件.

参考:

http://www.geekzone.co.nz/tonyhughes/599

http://www.joshstauffer.com/send-test-emails-with-wampserver/



7> 小智..:

    安装Postfix(与Sendmail兼容).

    编辑/etc/postfix/main.cf阅读:

#Relay config
relayhost = smtp.server.net
smtp_use_tls=yes
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_sasl_security_options = noanonymous

    创建/etc/postfix/sasl_passwd,输入:

smtp.server.net username:password

    类型# /usr/sbin/postmap sasl_passwd

    然后运行: service postfix reload

现在PHP将像往常一样使用sendmail -t -i命令运行邮件,Postfix将拦截它并将其转发到您提供的SMTP服务器.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有