首页 » PHP教程 » PHP邮件发送_技巧_PHP实现邮件发送的方法

PHP邮件发送_技巧_PHP实现邮件发送的方法

访客 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

这里简要先容一下在PHP措辞中实现邮件发送的两种方法,分别是利用socket发送和利用mail()函数发送的办法。

1.利用socket发送事理:利用fsockopen函数打开一个Internet连接,函数的参数列表为fsockopen(string hostname,int port,int [errno],string [errstr],int [timeout]),这里由于要利用SMTP协议,以是端口号是25.在打开连接成功后,会返回一个socket句柄,利用它就可以像利用文件句柄一样,可利用的操作有fputs(),fgets(),feof(),fclose()等。
该函数的返回值有以下几种:

PHP邮件发送_技巧_PHP实现邮件发送的方法

220 做事就绪(在socket连接成功时,会返回此信息)

PHP邮件发送_技巧_PHP实现邮件发送的方法
(图片来自网络侵删)

221 正在处理

250 要求邮件动作精确

354 开始发送数据

500 语法缺点,命令不能识别

550 命令不能实行,邮箱无效

552 中断处理:用户超出文件空间

但是,须要把稳的是利用socket发送要担保开启php的fsockopen()函数,你可能须要:

php.ini文件中查找allow_url_fopen = On 确保该项值为On

php.ini文件中查找;extension=php_openssl.dll 如果前面有分号,去掉分号

重启web做事器,apache或IIS

这里有个开源的发送邮件类可供直接发送邮件,利用的是socket发送事理,亲测可用,供大家参考:sendmail.zip

2.利用mail()函数发送:mail()函数是PHP措辞自带的一个邮件发送函数,但是并不代表利用它可以直接进行邮件发送,需配置php.ini邮件信息、须要类似sendmail这样的组件支持。

(1)下载sendmail软件(如果你是用xampp,那里面直接就带了),下载地址:http://www.glob.com.au/sendmail/,解压到D盘,供下列步骤(2)中的sendmail.path填写

(2)配置php.ini,需配置内容如下:

[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25; For Win32 only.sendmail_from = 417204900@qq.com; For Unix only. You may supply arguments as well (default: \"大众sendmail -t -i\"大众).sendmail_path =\公众D:/sendmail/sendmail.exe -t -i\"大众

(3)配置sendmail.ini,需配置内容如下:

smtp_server=smtp.qq.comsmtp_port=25smtp_ssl=autoerror_logfile=error.logdebug_logfile=debug.logauth_username=yourname such as 12@qq.comauth_password=yourpassword such as 123456pop3_server=pop3_username=pop3_password=

smtp_server=,这个须要填写你想选用的smtp做事器,可以选择本地搭建,也可以选择163、QQ、gmail(如果是gmail须要做事器启用ssl_module modules)的smtp或者pop3做事器。
把稳第一次利用建议把debug_logfile=debug.log前面的;去掉,这样可以记录每次发送邮件的详细信息了,如果发生缺点可以在error.log里面找到。
auth_username=、auth_password=须要填写你的stmp账户信息(详细可以Google一下),如果是pop3则对应填写。
填写一类就可以了。

(4)测试代码

<?$now = date(\"大众Y-m-d h:i:s\公众);$from_name='IECspace';$from_email ='417204900@qq.com';$to='764739533@qq.com';$headers = \"大众From: <$from_name>\"大众;$message= \"大众这是一封来自 <$from_email>的测试邮件.\"大众;$subject = \"大众[$now] 邮件测试\"大众;if (mail($to, $subject,$message,$headers)) {echo \"大众success!\公众;} else {echo \"大众fail…\"大众;}?>

3.另一个开源邮件发送包:PHPMailer,下载地址:http://sourceforge.net/projects/phpmailer/files/。
下载完成后,直接查看里面的example文件夹,有各种例子,很详细~~~赞一个

标签:

相关文章

临武区,绿色发展的璀璨明珠

临武区,位于我国湖南省郴州市,是一个有着丰富自然资源和悠久历史的地方。近年来,临武区以绿色发展为引领,实现了经济社会与生态环境的协...

PHP教程 2024-12-23 阅读0 评论0

中止代码8,介绍网络安全的“无形守护者”

随着互联网的普及,网络安全问题日益凸显。无数黑客、病毒、恶意软件企图入侵我们的电脑,窃取个人信息,破坏网络秩序。在这场没有硝烟的战...

PHP教程 2024-12-23 阅读0 评论0

中美协议漏洞,漏洞背后的风险与应对步骤

近年来,中美关系在全球范围内备受关注。为了维护两国间的稳定与互利共赢,中美两国政府签署了一系列协议。这些协议中存在一些漏洞,给双方...

PHP教程 2024-12-23 阅读0 评论0

中华烟,传承与创新并进的民族品牌

中华烟,作为中国烟草行业的领军品牌,历经百年风雨,承载着中华民族的文化底蕴和民族精神。自诞生之日起,中华烟便以其独特的品牌魅力,赢...

PHP教程 2024-12-23 阅读0 评论0

东方餐,探寻中华美食的独特魅力

自古以来,中国饮食文化源远流长,被誉为“舌尖上的中国”。在这片广袤的土地上,各地美食争奇斗艳,其中东方餐作为中华美食的重要组成部分...

PHP教程 2024-12-23 阅读0 评论0