发送邮件方法
php中有很多方法发送邮件,其中需要发送端安装邮箱客户端才能发送的,有不需要安装客户端即可发送的。
第二种需要知道SMTP服务名称;下面介绍该种方法。
配置php环境
1,打开php.ini文件
2,找到mail function
3,启用SMTP,将其修改为对应的邮箱服务器
4,在下面有sendmail_from 可以设置发件者邮箱,当然可以不用设置
如何知道SMTP服务名称
1,打开命令提示符(win+R)
2,输入(nslookup -q=mx + 邮箱后缀) 如163.com 写成 nslookup -q=mx 163.com 回车
3,出现
服务器:XXXX.163.com
Address:xxx.xxx.xxx.xxx
MX preference =10,mail exchanger = 163mx02.mamxil.netease.com
mail exchanger后面的即为SMTP服务器名称
一般情况下,使用哪一类邮箱,就将邮箱【后缀+mail】为邮箱的SMTP服务器名称:mail.xxxxxxx.com。
以上就修改完成,重启Apache服务,打开命令提示符, 输入:httpd -k restart 即可使用发送邮箱功能。
php发送邮箱
php中自带发送邮件的函数mail mail(to,subject,message,headers,parameters)
参数 | 描述 |
---|
to | 必需。规定 email 接收者。 | subject | 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。 | message | 必需。定义要发送的消息。应使用 LF (\n) 来分隔各行。每行应该限制在 70 个字符内。 | headers | 可选。规定附加的标题,比如 From、Cc 和 Bcc。应当使用 CRLF (\r\n) 分隔附加的标题。 | parameters | 可选。对邮件发送程序规定额外的参数。 |
示例代码:
$to = 'eyes7927@163.com';
$sub = 'say hello';
$msg = 'hello, php!';
$from = "From: <eyes++>";
mail($to,$sub,$msg,$from);
也可以这样:
<html>
<head>
<meta charset="utf-8">
<title>php-mail</title>
</head>
<body>
<?php
if (isset($_REQUEST['email'])) {
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
if(mail($email ,$subject,$message, "From:xxx@163.com"))
{
echo "邮件发送成功";
}
else{
echo "邮件发送失败";
}
} else {
echo "<form method='post' action='new.php'>
Email: <input name='email' type='text'><br>
Subject: <input name='subject' type='text'><br>
Message:<br>
<textarea name='message' rows='15' cols='40'>
</textarea><br>
<input type='submit'>
</form>";
}
?>
</body>
</html>
|