这里是普通文章模块栏目内容页
Apache+PHP服务器环境中配置sendmail.exe使用mail()函数发送邮件

1.用sendmail结合其它的smtp服务器,如smtp.sina.com.cn来实现发邮件。现在大部分邮箱都要求smtp验证,所以要在sendmail.ini中加入用户名和密码。
php.ini配置(以用sina邮箱为例)
我的sendmail.exe放在D:sendmail下
在php.ini中只填写 sendmail_path

[mail function]
; For Win32 only.
;SMTP = smtp.163.com
;smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "D:sendmailsendmail.exe -t"

就配置三项,smtp,smtp_port和sendmail_path
sendmail.ini配置

[sendmail]
 
 //现在的163不能用smtp发邮件了,只好转其他的smtp服务器
; you must change mail.mydomain.com to your smtp server
smtp_server=smtp.sina.com.cn
smtp_port=25
auth_username=yourusername
auth_password=yourpassword
force_sender=yourusername@sina.com

sendmail网上有下的,地址是:http://glob.com.au/sendmail/
如果你是用xampp,那里面直接就带了。
不过此种方法,查看收到的邮件头,会是两个发件人。
同时在虚拟主机的conf里加上这样一句

<directory d:/www/users/username>
     php_admin_value sendmail_path 'd:sendmailsendmail.exe -t yourusername@sina.com'
</directory>

此邮件地址为用户的邮件地址,随便添。

配置好后,自己在php文件中用mail()函数就可以在本机发邮件了,如果还有问题,请联系我哦,kunga0814@sina.com
mail()函数部分:
    if (mail ( $send_to, $send_subject, $send_content, $headers )) {
        echo "发送给{$send_to}的邮件成功!";
    } else {
       
        echo "发送给{$send_to}的邮件失败!";
   
    }