欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

初学php,mail()发邮件的问题,想咨询一下

程序员文章站 2022-05-23 15:23:13
...
目前正在w3school中学习基础语法,看到发邮件的案例

$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

?>
测试发送不了邮件
想咨询一下php发邮件就这么几句简单代码就能实现吗?不需要发件人的账号密码、等设置吗


回复讨论(解决方案)

用php mailer来发邮件 请参考视频教程 http://pan.baidu.com/s/1rIJeU 或者http://www.zixue.it/portal.php?mod=list&catid=11

mail 函数只能使用无需用户认证的发件服务器发送邮件
如果你用不要用户认证的发件服务器,还需要在 php.ini 中配置一下才可以使用 mail 函数


require_once ('email.class.php');
//##########################################

$smtpserver = "smtp.163.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = "你的@163.com";//SMTP服务器的用户邮箱
$smtpemailto = $email;//发送给谁
$smtpuser = "name";//SMTP服务器的用户帐号
$smtppass = "addfgfdg";//SMTP服务器的用户密码

$mailsubject ="邮件主题";//邮件主题
$mailbody="邮件内容邮件内容邮件内容邮件内容"//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = FALSE;//是否显示发送的调试信息
$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
?>

需要认证的话还是用phpmailer 吧,简单配置几下就可以了。