日期:2014-05-17  浏览次数:20620 次

php发送email
最近在学习怎样用php发送email有几个问题向大家请假
1.如果打算通过本机发送email,该如何设置?
2.如果使用虚拟空间了,怎么确定所使用的空间能用php发送email呢?
3.在确定具有发送email条件后,如何用PHP发送邮件?
100分求教,要详细点啊,谢谢!

------解决方案--------------------
1.如果打算通过本机发送email,该如何设置?
需要在本机上安装sendmail,postfix之类的mta,如果没有可以用socket调用你自己的邮箱163,sohu,sina之类的,具体还是google php smtp类或者phpmailer.
2.如果使用虚拟空间了,怎么确定所使用的空间能用php发送email呢? 
直接使用mail()函数发给自己一个邮件测试一下就知道了.
3.在确定具有发送email条件后,如何用PHP发送邮件?
mail("test@test.com","title","body"),也可以看这里更详细http://php.chinaunix.net/manual/zh/function.mail.php
------解决方案--------------------
学习了
据说 mail函数本机必须配置邮件服务器,否则不能发
用socket发,没试过
------解决方案--------------------
mail()函数支持意义也不大了吧,各大邮局是不是已经滤掉了,没有被认可的,不著名的邮件服务器发来的信,避免太多的垃圾邮件,
php用socket连接某个邮件服务器后,可以利用那个邮件服务器,来发信,就好像仿真OE等邮件软件:发个命令给对方,我要发信了,我的信件内容是……。以前调用网易的还可以
1。先要注册好一个网易的邮箱,届时会用到用户名/密码,因为他要认证只有是他的用户才能调用他。以及网易的smtp服务器ip,端口一般是25,用过邮件软件这个一般都要设置把
2。然后找个php socket发信类,直接在百度搜吧
------解决方案--------------------
phpmail这个类搞定,就不需要重复造轮子了

到sf.net上去搜索吧
------解决方案--------------------
最好的测试直接扔上服务器发。。。

------解决方案--------------------
调用方法:
PHP code

$smtp_host = 'mail.163.com';  //发信服务器
$smtp_user = 'aaa@163.com';  //用于发信认证的 email
$smtp_pass = '***';  //用于发信认证的 password
$smtp_port = 25;
$mail_format = 'HTML';  //或者 TXT ,信件的格式
$receiver = 'bbb@qq.com';
$body = 'mail content';

$sm = new smtp($smtp_host, $smtp_user, $smtp_pass, $smtp_user, $smtp_port);
if($sm->sendmail($smtp_user, $receiver, 'Registration Validating', $body, $mail_format){
    echo 'Failed to send email.';
    exit;
}

------解决方案--------------------
顶!!!测试一下!

感谢15楼