php邮件发送功能实现详解

发送邮件方法

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>

原文地址:https://blog.csdn.net/weixin_45647036/article/details/127009247