My ISP
帐户要求我发送出站SMTP
邮件的用户名和密码.
我如何PHP
使用这个时候执行php.mail()?
的php.ini
文件只包含服务器项(SMTP= )
和From: (sendmail_from= )
.
sug*_*nan 40
我在php.ini文件中应用以下详细信息.它的工作正常.
SMTP = smtp.example.com
smtp_port = 25
username = info@example.com
password = yourmailpassord
sendmail_from = info@example.com
Run Code Online (Sandbox Code Playgroud)
这些详细信息与Outlook设置相同.
小智 17
使用Fake sendmail for Windows发送邮件.
sendmail
在C:\wamp\
.sendmail
夹:sendmail.exe
,libeay32.dll
,ssleay32.dll
和sendmail.ini
.C:\wamp\sendmail\sendmail.ini
:Run Code Online (Sandbox Code Playgroud)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,这基本上就是你需要做的.
小智 13
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
Run Code Online (Sandbox Code Playgroud)
在这一整天工作之后,我终于找到了解决方案.以下是我使用WAMP从Windows XP发送的方式.
Run Code Online (Sandbox Code Playgroud)<?php $message = "test message body"; $result = mail('recipient@some-domain.com', 'message subject', $message); echo "result: $result"; ?>
参考:
小智 5
/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
Run Code Online (Sandbox Code Playgroud)
/etc/postfix/sasl_passwd
,输入:smtp.server.net username:password
Run Code Online (Sandbox Code Playgroud)
类型# /usr/sbin/postmap sasl_passwd
然后运行: service postfix reload
现在PHP将像往常一样使用sendmail -t -i
命令运行邮件,Postfix将拦截它并将其转发到您提供的SMTP服务器.