php邮件发送功能实现详解

2022-11-13 17:11:26 功能 详解 邮件发送

发送邮件方法

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'] ;
    //echo $email. $subject .$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>

到此这篇关于php邮件发送功能实现详解的文章就介绍到这了,更多相关php邮件发送内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章