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邮件的例子。

代码如下:

<?php
$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" . "\r\n";
$headers .= "Content-type:text/html;charset=utf-8" . "\r\n";

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

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

(0)

相关推荐

  • php mail to 配置详解

    复制代码 代码如下: [mail function] ; For Win32 only. SMTP = mail3.focuschina.com smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com 仅仅配置了如上的代码,没有用到用户名和密码,测试代码成功发送邮件 好读书,不求甚解..以上 发送的测试代码: 复制代码 代码如下: <?php [php] view plaincopyprint?在CODE上查看代码片派生到

  • php中mail函数发送邮件失败的解决方法

    本文实例讲述了php中mail函数发送邮件失败的解决方法.分享给大家供大家参考.具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧. 之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下: 复制代码 代码如下: yum install

  • 用php发送带附件的Email

    参考了一下网上的文章.俗话说,天下文章一大抄,看你会抄不会抄.关键是能为我所用,这是最重要的.废话不多讲,let's go. 其实发mail很简单,php有现成的函数,可以参考php 的 manual,特别是第四个例子,讲的很详细. 关键是怎么把上传附件跟邮件发送结合起来.关于文件的上传,可以参考http://blog.csdn.net/slamdunk3/archive/2005/02/23/299025.aspx 这篇文章. 讲一下 文件上传的方法及其属性: 我们假设文件上传字段的名称如上例

  • PHP下MAIL的另一解决方案

    前一段时间我接触到DEC Tru64 Unix 我在上面装了PHP+APACHE,可以用提供的mail函数始终不能正常发信,于是自编了一个函数,它利用UNIX下的管道和PHP的SOCK函数进行发信,经过实验非常驻成功,下面是此函数原代码. function mymail($mto,$mcc,$msubject,$mbody) {  $from="webmaster@backhome.com.cn"; $sign = "\n";//随你便写些什么 $sendmailp

  • Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题

    如果需要用php的mail()函数来发送邮件,是需要服务器安装sendmail组件才能支持的,这个在php的手册中mail()函数部分也有介绍到.然后在 在Ubuntu下安装sendmail的命令: 复制代码 代码如下: sudo apt-get install sendmail 安装好之后,启动sendmail服务: 复制代码 代码如下: sudo service sendmail start 有了sendmail的支持,就可以在php中用mail()函数发送邮件了. 一般造成在php用mai

  • 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 

  • iis下php mail函数的sendmail配置方法(官方推荐)

    首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下. 然后打开php.ini文件,找到下面这段代码 复制代码 代码如下: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com ; For Un

  • PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法

    本文实例讲述了PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法.分享给大家供大家参考,具体如下: 1.php mail()函数在windows不能用,需要安装sendmail. 2.从http://glob.com.au/sendmail/ 下载sendmail组件 3.解压sendmail.zip到目录下,我安装的路径是: F:\root\sendMail 4.配置php.ini,主要配置以下3项 5.修改 sendmail.ini,文件路径:F:\root

  • 木翼下载系统中说明的PHP安全配置方法

    一.Web服务器安全 PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全.当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽.PHP可以和各种Web服务器结合,这里也只讨论Apache.非常建议以chroot方式安装启动Apache,这样即使Apache和PHP及其脚本出现漏洞,受影响的也只有这个禁锢的系统,不会危害实际系统.但是使用chroot的Apache后,给应用也会带来一定的麻烦,比如连接mysql时必须用127.0.0.1地址使用tcp连接而

  • phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法

    本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法.分享给大家供大家参考,具体如下: 一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮件只要按照前面<PHP的邮件群发系统phplist配置方法详细总结>配置就够了.但若你如同我一样不幸,必须使用gmail这种有ssl验证的邮箱,那么恭喜你,我的不幸现在已然成为你的幸运,经过数天的尝试,我终于成功将gmail与phplist组合在了一起.现将经验分享于此,希望对各位同我一般境遇的同志有用.另外,

  • Log4j_配置方法(全面讲解)

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR <

  • 认识less和webstrom的less配置方法

    今天完成的事情: 首先第一件事情是,整理一下常用的颜色摄取 #F1F1F1 google的设置页面的body的背景颜色 #FFF 为google的内容块的背景颜色 另外就是学习test11中提到的less 一.跳出less和sass的战斗.网上一大堆的互相撕逼,看来各有春秋啊!但是对我这菜鸟的人说,我不管它们的得失.我只管知道预处理是一个好主意,管它是那种. 都是为了偷懒,不就是要让css更加自能化吗! 在知乎上有位"海皮飞"的博主提出了如下场景. 1. 要做各种内核都兼容的圆角效果,

  • php禁用函数设置及查看方法详解

    本文实例讲述了php禁用函数设置及查看方法.分享给大家供大家参考,具体如下: 打开PHP.INI,找到这行: disable_functions = 在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号 , 分开 给个例子: 复制代码 代码如下: disable_functions = passthru,exec,system,popen,chroot,scandir,chgrp,chown,escapesh ellcmd,escapeshellarg,shell_exec,proc_ope

  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的.最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在. 1.使用 PEAR 的 Mail 类 PEAR 的 Mail 类可以让你选择使用 sendmail 或者 SMTP 方式发信,这样的包装好的接口很好用,你没有必要去自己重新发明轮子. 2.关于headers 中subject 的乱码 不要把任何除了 iso-8859-1 编码之外的文字

随机推荐