php 利用个人邮箱,利用PHP mail函数实现邮箱发送

本文介绍了PHP内置的mail()函数用于发送邮件,虽然在某些场景下不如第三方插件,但在小规模使用时仍具优势。文章提供了一个PHPmail函数的封装示例,解决了HTML格式邮件、中文乱码、收件人姓名和发件人显示等问题。同时,讲解了如何配置SMTP服务器,特别是在Windows环境下。此外,还提到了如何通过设置抄送和密送来保护收件人隐私。
摘要由CSDN通过智能技术生成

mail函数是php自带的一个邮箱发送函数,但在各方法本人测试了都不如第三方插件好用,但是它有一个特点就是量不大的情况下使用方法快捷。

在我们平常使用PHP发送邮件时,不一定每次都需要使用像phpmailer这样强大的工具类,在网上找到一个不错的PHP mail封装函数,该函数能够解决以下使用mail()函数经常碰到的几个问题

1.怎样发送HTML格式邮件。

2.邮件主题填上中文是乱码。

3.收件人中除了填上收件人的邮件,还要填上名字,而且还是中文的。

4.发件人要填上网站的名字,让人收到邮件的时候不是光秃秃的显示邮件地址。// 对邮件地址进行中文的UTF-8编码转化

functionformat_mail_address($address){

if(preg_match("||",$address,$matches)){

$name= mb_substr($address, 0,strpos($address, '

//函数的使用方法:

html_mail(

"电商沙龙",

array(

"用户A",

"用户B"),

"这是一封测试邮件",

需要说明的一点是,收件人为数组时,其中一个收件人查看邮件会看到所有其他收件人的邮件地址。如果要分开来发送(互相都看不见各自的邮件地址),可以使用循环一个个发送。使用加密抄送的方式可以实现隐藏加密抄送的邮件地址。

$to=$mailtoname." ";

$mailsubject="邮件测试";

$mailheader="X-Priority: 5n";

$mailheader.="From: "."Sales Teamn";

$mailheader.="X-Sender: "."support@ec-shalom.comn";

$mailheader.="Return-Path: "."support@ec-shalom.comn";

//普通抄送邮件

$mailheader.="Cc: ".$mailcc."n";

//加密抄送

$mailheader.="Bcc: ".$mailbcc."n";

$mailbody="电商沙龙-mail()函数发送邮件";

$result= mail ($to,$mailsubject,$mailbody,$mailheader);

echo"

Mail sent to “. “$to”. ” “;echo$mailsubject. ” “;echo$mailbody. ” “;echo$mailheader. ” “;if($result) {echo“

Email sent successfully!

"; }else{ echo "

Email could not be sent. 

"; } ?>

注意了php mail函数是需要服务器的支持,此函数配置如下:

Windows XP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除Windows组件”,弹出“Windows组件向导”对话框,在其中双击“Internet信息服务(IIS)”项,就会打开详细选择项,选中“SMTP Service”,按“确定”,插入Windows XP安装盘进行安装

安装好SMTP服务器后,选择“控制面板→性能和维护→管理工具→Internet信息服务”打开Internet信息服务设置窗口,在窗口左侧点击本地计算机名,展开本地计算机目录,可以看到有两个分支“Wed站点”和“默认SMTP虚拟服务器”。在“默认SMTP虚拟服务器”上点击鼠标右键选择“属性”,打开“默认SMTP虚拟服务器属性”窗口。

“常规”选项卡主要设置IP地址,单击IP地址下拉项选择“127.0.0.1”,表示指向本地计算机IP地址,其他项使用默认即可。如果你是局域网接入,拥有固定IP地址,那么IP地址就应该选择相应的地址

“访问”选项卡中设置访问权限。单击“身份验证”,选择“匿名访问”,表示任何用户都可以发送,其他两项不用选择;单击“连接控制”中的“连接”和“中段限制”中的“中断”,选中“仅以下列表除外”,表示可以许接入所有用户的访问。

“邮件”选项卡中设置邮件传输条件及限制,“限制邮件大小为”等四个选项可以使用默认值,无须更改;

“将未传递报告的副本发送到”可将发送不成功的邮件返回发件人,并且写明不成功的原因;“死信目录”设置没有发送成功的邮件被存放的位置。

“传输”选项中设置邮件传递时间,这里不用修改,使用默认值;“LDAP路由”选项用来指定服务器使用的目录服务器标识和属性,这里也不用启动它。

“安全”选项中设置使用发送服务器的有权用户,默认用户是“Administrators”,你可以单击“添加”添加使用用户。

一切设置好后,你就拥护了自己的邮件发送服务器了!

SMTP装好以后 你应该是在WINDOW2K下,你找到PHP。INI文件 在C:WINNT下

打开找到下面这些行

[mailfunction]

; For Win32 only.

SMTP = 10.0.0.9 -------》替换成你的IP,10.0.0.9是偶的IP了 :)

; For Win32 only.

sendmail_from = test@test.com    ---》发件人信息

然后重新启动APACHE.

(责任编辑:admin)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值