PHP Mail函数发送html格式邮件
windows系统下mail函数需要配置
1.从http://glob.com.au/sendmail/下载sendmail.zip
2.解压到C:下,例如C:\php\sendmail,最好短路径,长路径名有可能产生问题。
3.修改php.ini如下
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
4.根据你自己的配置环境修改sendmail.ini。
第一次最好启用debug.log_file,error_logfile,以查看sendmail是否生效。
linux系统中配置安装mail函数
yum -y install sendmail
安装成功
/etc/rc.d/init.d/sendmail start
mail -s “abc” 165482921@qq.com < phpinfo.php
提示
-bash: mail: command not found
晕菜了,那这个mail命令要怎么弄过来呢
yum -y install mailx
就安装好了
mail -s “abc” 165482921@qq.com < phpinfo.php
登邮箱一看,有了,呵呵,原来这两个命令可以这样搞啊
先看一段代码示例
代码如下 | 复制代码 |
$to = 'xxxxx@gmail.com'; |
从上面的例子看出,要使用多部分消息发送电子邮件,header与发送单一格式邮件不同,需要声明发送的内容是multipart并定义边界(boundary)
代码如下 | 复制代码 |
Content-Type: multipart/alternative; boundary="{$mime_boundary}" |
这就告诉电子邮件客户端,应该在消息中查找额外的Content-type信息,其中包含边界信息。边界把消息分隔为多个部分,它以两个短横线(–)开头,并且位于消息的开头、各部分之间和消息的结尾。这个边界的内容并不重要,关键是尽可能使之唯一,所以它不可能是消息中重复的值,所以可以使用符号、数字和字母的任意组合,许多人选择使用rand()或md5()散列,这并不重要。使用什么方法完全取决于设计人员。[2]
如果使用PHPMailer发送邮件,只需要简单的代码就可以实现多部分消息,看下面代码段[3]
代码如下 | 复制代码 |
$mail->Body = $body; |
如果出现Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first这个邮件没配置好,我们看文章开头配置方法。
英文:
代码如下 | 复制代码 |
function tourl($str) { |
包含特殊字符:
代码如下 | 复制代码 |
function strtourl($str) { $str = htmlentities($str, ENT_QUOTES, "UTF-8"); $str = preg_replace('/&([a-z]{1,2})(?:acute|lig|grave|ring|tilde|uml|cedil|caron);/i','1',$str); $str = html_entity_decode($str, ENT_QUOTES, "UTF-8"); $str = preg_replace('/[^a-z0-9]+/i', '-', $str); return strtolower($str); } |
urlencode函数 此函数可以解决百度 get与google get中文乱码问题哦
代码如下 | 复制代码 |
header('Content-type: text/html; charset=utf-8'); $urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4'; $arrParse = parse_url($urlBaidu); parse_str($arrParse ['query'],$output); echo '乱码:' . $output['wd'] . '<br />'; $strUTF8 = mb_convert_encoding($output['wd'], 'utf-8', 'gb2312'); echo '可读码:' . $strUTF8 . '<br />'; echo '<br />谷歌关键词URL编码转换示例:<br />'; $urlGoogle = 'http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq='; parse_str($arrParse ['query'],$output); echo '可读码:' . $output['q'] . '<br />'; |
总结,个人更喜欢使用php自带urlencode()函数了,上面这个也是解决我们url用中文时百度与gg有时会乱码问题解决方案了。
unlink是用来删除文件的它也可以删除指定文件了,此函数支持相对路径删除与绝对路径删除,但它不能删除目录哦,下面一起来看unlink() 函数的一些用法。用法
nlink() 函数删除文件。
若成功,则返回 true,失败则返回 false。
语法
unlink(filename,context)
示例:
代码如下 | 复制代码 |
$tmpdata = $this->_agency_mod->find ( intval ( $value ) ); |
首先找到该条目,查询条目的内容,包括图片链接地址。有了地址,我们根据这个图片路径,使用unlink函数删除该图片文件。注意:该图片路径的目录要有可读写权限。
php官方示例:
代码如下 | 复制代码 |
<?php |
w3school示例:
代码如下 | 复制代码 |
<?php |
删除中文名称的文件失败
Warning: unlink(user_logo/d4d84f383714d5f3.jpg) [function.unlink]: No such file or directory in
文件名是中文命名的;用is_file()检测出是false。但是文件是存在的。不知道怎样才能用unlink把这个文件删除了。用include包含文件时,也无法读取文件(文件不是空的)。
代码如下 | 复制代码 |
if(file_exists($fn)){//存在该文件 //todo 删除 } |
如果是中文可能有点问题
现在要解决的是is_file或unlink对文件名中有中文的文件的识别。只要能识别出来就可以删除了。
应该是文件名编码的问题,你可以试试unlink(iconv('gb2312','utf-8','新建文本文档.txt'));
今天在php直接使用date函数会发现提示date(): It is not safe to rely...错误了,提示是不是一个安全的用法,那么要如何解决此问题呢。
在PHP代码中调用date函数时,在日志里看到如下报错
PHP Warning: date(): It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning,
you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead
为什么会出现这样的报错?
从 PHP 5.1.0 引用了时区设置(date.timezone),但其默认又是关闭的,所以使用date()等函数时,都会产生E_NOTICE 或者 E_WARNING 信息。
处理方法1
在调用date前加入下代码
在页头加入代码:ate_default_timezone_set("PRC");
在页头加入代码:ini_set('date.timezone','注释:RPC');
在php.ini中启用date.timezone设置并设置其值:date.timezone=PRC,并重启apache;
注释:RPC代表中华人民共和国。
PHP CLI模式开发不需要任何一种Web服务器(包括Apache或MS IIS等),这样,CLI可以运行在各种场合,下面我就来简单的介绍一下php cli命令的用法。PHP CLI(命令行模式下)接受参数有多种方法:
(1)使用$argv接受参数
<?php
代码如下 | 复制代码 |
//变量仅在 register_argc_argv 打开时可用。 print_r($argc); //CLI下获取参数的数目,最小值为1 print_r($argv); //CLI下传递给脚本的参数数组,第一个参数总是当前脚本的文件名,因此 $argv[0] 就是脚本文件名。 |
结果:
PHP CLI下接受参数的几种方法(2)使用getopt()函数获取参数
<?php
代码如下 | 复制代码 |
//获取 -a -b -c参数 $args = getopt('a:b:c:'); print_r($args); |
执行结果:
使用getopt获取cli参数
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07- Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- 本文给大家介绍的是nodejs实现使用阿里大鱼短信API发送消息的方法和代码,有需要的小伙伴可以参考下。...2016-01-20
- PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
SQL Server中row_number函数的常见用法示例详解
这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08- mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。注意:1、mail函数不支持esmtp协议,---即,只能直投,不能登陆2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在PHP.ini中指定的,所...2015-10-30
- 分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
- 这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法:一、使用PHP内置的mail()函数<?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文...2015-10-30
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21