PHP初级学习email

刚开始使用PHP mail()函数,先后出现两个问题

问题一:PHP Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

问题二:SMTP server response: 530 SMTP authentication is required

问题三: 页面未报错但是未收到邮件

问题解决方法

1。 问题一的解决

解决方案来自:http://hi.baidu.com/cgaxiaoxiao/item/dc3684248937984546996286

(1)出现错误的原因

在本地使用mail()函数的话需要一个smtp服务,而windows7却没有提供。

(2)解决方案

使用hMailServer这个软件来配置你本地的smtp服务器。可以到hMailServer的官网去下载这个软件的最新版本。本例中使用的是5.3.3版本.

(3)hMailServer的安装步骤

i 把hMailServer安装到独立的分区

PHP初级学习email_第1张图片

ii 用户不多,直接使用内置的数据库引擎,如果用户多的话,可以选择下面的mysql,mssal,postgresql数据库

PHP初级学习email_第2张图片

iii 事先没有安装.NetFramework2.0的提示

PHP初级学习email_第3张图片

iv 设置hMailServer管理密码

PHP初级学习email_第4张图片

(4)4hMailServer的使用

i 打开hMailServer Adminstrator,链接本地服务器,密码就是安装hMailServer时设置的密码

ii 配置hMailServer–Setting–SMPT–Delivery of e-mail,主要是设置一下localhost就可以了

PHP初级学习email_第5张图片

iii 配置hMailServer–Setting–Advanced–IP Ranges–My computer,把画圈的地方的够取消掉,即不打勾

PHP初级学习email_第6张图片

iv 配置hMailServer–Setting–Advanced–IP Ranges–Internet 为了安全参考

PHP初级学习email_第7张图片

2。 问题二的解决

即问题一的解决中(4)iii中所提到的

3。 问题三的解决

出于安全考虑邮件被拦截了,可以砸邮箱首页点击查看被拦截的邮件。

示例


//email接收者
<!-- lang: php -->
$to = xx@xxxx;
<!-- lang: php -->
//email的主题
<!-- lang: php -->
$subject = 'Test mail';
<!-- lang: php -->
//要发送的消息
<!-- lang: php -->
$message = 'Hello! This is a simple email message.';
<!-- lang: php -->
//规定附加的标题,比如From、Cc以及Bcc
<!-- lang: php -->
$from = xxx@xxxxx;
<!-- lang: php -->
$headers = "From: $from";
<!-- lang: php -->
mail($to, $subject, $message, $headers);
<!-- lang: php -->
echo 'Mail Send.';

开发环境

系统: windows 7

PHP版本:5.3.13

hMailServer版本:   5.3.3

你可能感兴趣的:(PHP,emial)