怎么在php中使用pear_smtp实现一个邮件发送功能

发布时间:2020-12-22 16:24:35

来源:亿速云

阅读:76

作者:Leah

怎么在php中使用pear_smtp实现一个邮件发送功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

PHP自带的mail函数比较蛋疼,在win下配置了sendmail还是无法发送邮件。而使用第三方的pear/mail可以直接通过smtp连接邮件发送服务器。如(smtp.163.com)。从而没有必要在本机上安装sendmail等类似软件。

确保PEAR Mail包已经安装。<?php

require_once "vendor/autoload.php";

$from = "test";

$to = "test ";

$subject = "Hi!";

$body = "Hi,\n\nHow are you?";

$host = "smtp.163.com";

$port = "25";

$username = "test@163.com";

$password = "test123";

$headers = array ('From' => $from,

'To' => $to,

'Subject' => $subject);

$smtp = Mail::factory('smtp',

array ('host' => $host,

'port' => $port,

'auth' => true,

// 'debug'=>true,

'username' => $username,

'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

" . $mail->getMessage() . "

");

} else {

echo("

Message successfully sent!

");

}

?>

这是非加密方式。

PHPer 多数使用 mail 函数来发送邮件,但我们可以使用其他的 SMTP 服务器来发送,这里推荐使用 PEAR's mail package 来发送邮件。$subject = "This mail is sent from SMTP.";

$mail_body = "This is the body of the mail which is sent using SMTP.";

$from = "From: From Name ";

$to = "To: To Name ";

$receiver = "toaddress@xpertdeveloper.com";

// Setting up the headers

$headers["From"] = $from;

$headers["To"] = $to;

$headers["Subject"] = $subject;

$headers["Reply-To"] = "reply@address.com";

$headers["Content-Type"] = "text/plain; charset=ISO-2022-JP";

$headers["Return-path"] = "returnpath@address.com";

// Setting up the SMTP setting

$smtp_info["host"] = "smtp.server.com";

$smtp_info["port"] = "25";

$smtp_info["auth"] = true;

$smtp_info["username"] = "smtp_user";

$smtp_info["password"] = "smtp_password";

// Creating the PEAR mail object :

$mail_obj =& Mail::factory("smtp", $smtp_info);

// Sending the mail now

$mail_sent = $mail_obj->send($receiver, $headers, $mail_body);

// If any error the see for that here:

if (PEAR::isError($mail_sent)) { print($mail_sent->getMessage());}

第三个案例:

在使用以下源代码前,请配置好pear的路径,下载net_smtp包

在php.ini文件中根据你的操作系统选择不同的设置方法; UNIX: "/path2:/path3"

include_path = ".:./php/pear"

;

; Windows: "\path2;\path3"

;include_path = ".;c:\php\pear"

require 'Net/SMTP.php';

$host = '126.com';//smtp服务器的ip或域名

$username= 'arcow';//登陆smtp服务器的用户名

$password= 'secret';//登陆smtp服务器的密码

$from = 'arcow@126.com';  //谁发的邮件

$rcpt = array('test@test.com', 'arcow@126.com');//可设多个接收者

$subj = "Subject: 你是谁\n";//主题

$body = "test it";//邮件内容

/* 建立一个类 */

if (! ($smtp = new Net_SMTP($host))) {

die("无法初始化类Net_SMTP!\n");

}

/* 开始连接SMTP服务器*/

if (PEAR::isError($e = $smtp->connect())) {

die($e->getMessage() . "\n");

}

/* smtp需要身份验证 */

$smtp->auth($username,$password,"PLAIN");

/*设置发送者邮箱 */

if (PEAR::isError($smtp->mailFrom($from))) {

die("无法设置发送者邮箱为 \n");

}

/* 设置接收邮件者 */

foreach ($rcpt as $to) {

if (PEAR::isError($res = $smtp->rcptTo($to))) {

die("邮件无法投递到 : " . $res->getMessage() . "\n");

}

}

/* 开始发送邮件内容 */

if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) {

die("Unable to send data\n");

}

/* 断开连接 */

$smtp->disconnect();

echo "发送成功!";

?>

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

php pear mail smtp 不验证,怎么在php中使用pear_smtp实现一个邮件发送功能相关推荐

  1. java mail 抄送多用户_javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)...

    先看源码,再来理解,可以直接使用! JavaMailWithAttachment.java: private MimeMessage message; private Session session; ...

  2. java邮件支持_使用Spring的JAVA Mail支持简化邮件发送功能

    闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...

  3. php邮件代码c语言,C语言实现邮件发送功能(SMTP)源码

    [实例简介]C 语言编写的邮件发送器是SMTP协议的源代码和EXE执行程序均在里面使用VS2013开发环境生成,填写对应参数即可成功进行邮件发送,不用配置邮件服务器,只需一个支持SMTP协议的邮箱账号 ...

  4. 共享一个邮件发送的程序( share a Mail Sending program)

    写的不怎么好,当时用来测试邮件系统而写的,基本上所有的邮箱,三种类型的邮件都可以发送,还凑合 http://files.cnblogs.com/blodfox777/MailSender.rar

  5. com.sun.mail.smtp.SMTPSendFailedException: 550 Invalid User

    使用springboot集成的邮件发送功能,参考了文章:https://blog.csdn.net/gfd54gd5f46/article/details/77414560 无论是SimpleMail ...

  6. com.sun.mail.smtp.SMTPSendFailedException:554 5.2.0 STOREDRV.Submission.Exception

    使用outlook发送邮件报异常:com.sun.mail.smtp.SMTPSendFailedException:554 5.2.0 STOREDRV.Submission.Exception 我 ...

  7. java发送邮件354_基于SMTP的JAVA邮件发送程序

    这个程序没有使用JavaMail API,而是根据SMTP协议的要求直接处理协议的细节发送邮件,虽然比较麻烦了一些,但是对了解邮件协议的细节很有帮助的. 本文分两部分,第一部分是SMTP命令介绍(这个 ...

  8. Java Mail 邮件发送(一):入门Demo

    本文首发于简书,Java Mail 邮件发送(一):Demo 上周公司的项目要求开发邮件发送功能.自己在网上跟着教程边学边做了一下午,现在基本开发完成了.由于一个同事也想看下该怎么写,顺便学习下.所以 ...

  9. Linux mail 邮件发送

    Linux mail 邮件介绍 在Linux系统下我们可以通过"mail"命令,发送邮件,在运维中通常我们它来实现邮件告警. 安装 (方案1) 一.安装邮件服务 yum insta ...

最新文章

  1. 《Redis设计与实现》之第四章:字典
  2. 锁屏界面提示某些设置已隐藏_iOS 13隐藏手电筒和相机快捷图标
  3. C++引入抽象基类和纯虚函数的作用和目的
  4. 面向对象编程 - 练习题
  5. mysql batch 失败_mysql突然挂掉,重启失败,求助
  6. pandas DataFrame 索引(iloc 与 loc 的区别)
  7. 开票服务器管理系统默认密码,税控盘初始密码和口令是多少-百旺税控盘初始密码和口令-牛账网...
  8. php 固定表头,固定表头和首列的表格
  9. 论文阅读 (九):A survey on instance selection for active learning (2012)
  10. 【Twitter 舆论分析】Twitter 爬虫绕过API限制
  11. 【转】视频《经梧太极第一代传人闫芳老师收徒仪式上推手》是真实的吗?
  12. 利用Xposed框架修改微信运动计步
  13. gradle尚硅谷笔记
  14. [工具]Firefox(火狐浏览器)常用插件
  15. C1认证学习四(多媒体基础参数)
  16. 如何玩转kvm切换器
  17. Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack3.3,python2.7,torch1.2,torchvision0.2.2)
  18. Python字符串类型以及应用
  19. 使用Beaglebone Black的PRU(二)——Hello World!
  20. CIO访谈实录:2016里约奥运会CIO伊丽·雷森迪

热门文章

  1. 视频流的自适应传输机制-dash
  2. 中国地质大学的计算机专业咋样,中国地质大学武汉计算机专业好还是武汉理工大学的好...
  3. WINDOWS7-11磁盘分区教程
  4. Python3-笔记-B-002-数据结构-字典dict{ }
  5. 在自己的软件中使用鼠标
  6. linux print$共享文件夹,利用python的看门狗在linux下监控afp共享文件夹
  7. 深入理解 Android 9.0 Crash 机制(二)
  8. 什么是.svn文件? SVN使用说明
  9. java 字母序排序,Java -------- 首字母相关排序总结
  10. 全球工业互联网发展实践及启示!