配置PHP使用mail()函数发送邮件
思韵闪耀
2013-03-18
0

之前一直使用第三方的邮件系统发送邮件,比如QQ啊、gmail啊等,但是有时候客户不希望给我们提供发件人邮箱和密码,后来我才发现使用PHP自带的mail函数完全可以实现这一需求了

配置

工欲善其事,必先利其器。首先我们以windows下面为例进行说明,如何配置一下本地的mail。

下载附件 sendmail.zip

 -解压到任意路径,修改sendmail.ini,根据实际需要修改下面的信息。


  [sendmail]
   smtp_server=smtp.qq.com
   smtp_port=25
   error_logfile=error.log
   debug_logfile=debug.log
   auth_username=***@qq.com
   auth_password=***
   force_sender=***@qq.com
 -php.ini
  [mail function]
   SMTP = smtp.qq.com
   smtp_port = 25
   sendmail_from = ***@qq.com
   sendmail_path = "D:/sendmail/sendmail.exe -t -i"
   mail.add_x_header = On


注意:
    目前测试只是qq发送成功,163的不成功可能是他有过滤系统,可以成功发送给gmail。

语法

mail(to,subject,message,headers,parameters)

定义和用法

mail() 函数允许您从脚本中直接发送电子邮件。
如果邮件的投递被成功地接收,则返回 true,否则返回 false。
说明
在 message 参数规定的消息中,行之间必须以一个 LF(n)分隔。每行不能超过 70 个字符。
(Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。


<?php 
$text = str_replace("n.", "n..", $text); 
?>


提示和注释

注释:您需要紧记,邮件投递被接受,并不意味着邮件到达了计划的目的地。
示例
下面引用一个官方的发送HTML邮件的例子。

$to = "somebody@example.com, somebodyelse@example.com";
$subject = "HTML email";

$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>This email contains HTML Tags!</p>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
</table>
</body>
</html>
";

// 当发送 HTML 电子邮件时,请始终设置 content-type
$headers = "MIME-Version: 1.0" . "rn";
$headers .= "Content-type:text/html;charset=utf-8" . "rn";

// 更多报头
$headers .= 'From: <webmaster@example.com>' . "rn";
$headers .= 'Cc: myboss@example.com' . "rn";

mail($to,$subject,$message,$headers);
?>


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Windows serve...
Windows server2019安装Intel I219-V网...
2025-01-15
windows下安装Pre...
windows下安装PrestaShop报错Unable to g...
2024-06-16
Windows通过命令对文...
Windows通过命令对文件夹赋权要在Windows上使用命令行(...
2024-04-30

热门资讯

Exchange 2013/2... Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的...
SMTP 发送邮件错误码和解决... SMTP错误码/建议解决方法 错误总表 420 1. Timeout Communication P...
Exchange 2013 O... 最近在Exchange 2013环境中,遇到OWA/ECP无法访问的问题;用户是可以正常通过...
Roundcube 配置过各提... Fileinfo/mime_content_type configuration: OK Mimet...
彻底卸载Exchange Se... 一般来说,我们安装完Exchange Server 2016之后,可以通过正常卸载程序来进行卸载,但...
Exchange 2013批量... 一批量删除特定主题的邮件 1.1批量删除所有数据库中特定主题的邮件 1)群发了几封主题为backup...
快速查看已安装Exchange... Exchange 2010的版本号在Exchange管理控制台(EMC)显示的,好像不准确了。比如,...
在 Exchange 2016... 用户邮箱是与人员关联的 Exchange 邮箱,通常为每人一个邮箱。每个用户邮箱都有一个关联的 Ac...
exchange2013域名(... 需要对 接受的域 和 电子邮件地址策略进行配置: 首先外网域名要做解析和增加mx记录,这里就不具体说...
如何为AD 添加多个UPN后缀 今天我在群里看到有群友在问User principal name (UPN)多后缀的问题,我在这里就...