php发送邮件的问题详解

php实现发送邮件,一般常用的是开源项目PHPMailer来实现,那么除此之外,有什么其他的好的项目吗?

解决方法:

使用SMTP协议来发送邮件吧

在CodeIgniter里面使用它内置的邮件类发送邮件

$this->load->library('email');

$to = "aa@bb.cc";
$subject = "test";
$message = "hello!";

$config["protocol"]   = "smtp";
$config["smtp_host"]  = "smtp.163.com";
$config["smtp_user"]  = "username@163.com";
$config["smtp_pass"]  = "password";
$config["mailtype"]   = "html";
$config["validate"]   = true;
$config["priority"]   = 3;
$config["crlf"]     = "/r/n";
$config["smtp_port"]  = 25;
$config["charset"]   = "utf-8";
$config["wordwrap"]   = TRUE;
$this->email->initialize($config);
$this->email->from('xxxx@163.com', 'xxxx');
$this->email->to($to);
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();

这种方式发送邮件无需装任何软件,但是需要你写更多的代码,而且要对SMTP比较熟悉。

但是如果你不自己写,而是直接使用别人写好的现成的代码的话,那这种方法无疑是最省事的:

不需要自己搭建SMTP服务器,也不需要写很多的代码。

总结:

目前PHP自带的就是通过基于sendmail的mail()函数来发送邮件,不过前提是服务器上必须要安装sendmail,很多服务器空间商是没有安装sendmail邮件服务器的。所以这就有一定限制。

所以目前就有很多基于SMTP来发送邮件的开源组件,最出名的应该是是phpMailer,这个你已经知道了我就不多说了,我这里再说说其它的方法吧。
1、XPertMailer:这个也是开源的PHP发送邮件的组件,和phpMailer类似,也很方便,这里是它的官网(http://xpertmailer.sourceforge.net/),我亲自测试过,真得挺好的。

2、JMail:JMail是Windows下的组件,不过PHP支持通过COM来调用它,这也是一种解决方案吧,不过前提是Web Server如果在Windows运行倒是可以考虑,否则还是算了吧。

3、网上有很多人写的基于SMTP的mail类,也是可以用的,但是所支持功能就比较简单了。如果要求不高,也可以考虑。

4、这里还有20个比较出名开源PHP发送邮件的组件,本人没有一一测试过,不发表看法。你可以自己试试。在这里贴上地址:
介绍20个PHP发送邮件mail开源项目

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • PHP插件PHPMailer发送邮件功能

    本文实例为大家分享了ThinkPHP3.2.3发送邮件的具体代码,供大家参考,具体内容如下 首先第一步 :在网上down了一个PHPMailer插件,下载解压后,这里我们只需要用到其中两个文件,如下图所示: 将class.phpmailer.php和class.smtp.php两个文件分别放置到 ThinkPHP/Library/Vendor/PHPMailer/class.phpmailer.php (注意大小写哦) ThinkPHP/Library/Vendor/PHPMailer/clas

  • PHP实现自动发送邮件功能代码(qq 邮箱)

    最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送.下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: <?PHP //邮件发送 require './mailer/class.phpmailer.php'; require './mailer/class.smtp.php'; date_default_timezone_set('PRC');//设置邮件发送的时间,如果不设置,则会显示其他区的时间 $mail = new PHPMailer()

  • Linux服务器下PHPMailer发送邮件失败的问题解决

    需求 更换服务器之后,我发现我的发送邮件功能失效了!原来的服务器是可以的,一定是哪里出问题了,决定来排查一下.我是用的PHPMailer,SMTP方式发送邮件的. 排查过程 这种方式首先PHP要开启sockets拓展,查了一下phpinfo页面,是开启的: 看了一下openssl也是开启(因为拿了qq邮箱来测),所以没问题: 那就再看一下allow_url_fopen,开启的,没问题: 是不是禁用了函数?没有禁用,没问题: 那配置上就没有问题了,我就想,是不是端口被占用了? 运行一下:netst

  • PHP实现163邮箱自动发送邮件

    163邮箱大家都使用过吧,那么基于php如何实现163邮箱自动发送邮件功能呢,下面我们小编给大家分享具体实现代码: 想给大家展示下效果图: demo.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:/

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

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

  • phpmailer简单发送邮件的方法(附phpmailer源码下载)

    本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类)  1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT

  • PHP实现发送邮件的方法(基于简单邮件发送类)

    本文实例讲述了PHP实现发送邮件的方法.分享给大家供大家参考,具体如下: 邮件发送类 <?php /*邮件发送类 *功能:使用smtp服务器发送邮件 */ class smtp { /* 全局变量 */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; /* 构造函数 */ fu

  • JavaWeb中使用JavaMail实现发送邮件功能实例详解

    现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件.邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息.今天我们也来实现一个这样的功能,用户注册成功之后,就将用户的注册信息以Email的形式发送到用户的注册邮箱当中,实现发送邮件功能就得借助于JavaMail了. 一.搭建开发环境 1.1.创建Web项目 1.2.用户注册的Jsp页面 register.jsp <%@ page language="java" pag

  • laravel5.4利用163邮箱发送邮件的步骤详解

    前言 其实发送邮箱其实不难,不如说挺简单的,本文将详细介绍关于laravel5.4用163邮箱发送邮件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.首先还是现在163注册一个账号并且设置如下图 授权码很重要的,请好好记住,待会在laravel的.env中要配置到的-- 二.如果以上你都做完了,那接下来就是配置.env了 MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=465 MAIL_USERNAME=你的账

  • php发送邮件的问题详解

    php实现发送邮件,一般常用的是开源项目PHPMailer来实现,那么除此之外,有什么其他的好的项目吗? 解决方法: 使用SMTP协议来发送邮件吧 在CodeIgniter里面使用它内置的邮件类发送邮件 $this->load->library('email'); $to = "aa@bb.cc"; $subject = "test"; $message = "hello!"; $config["protocol"

  • Django发送邮件功能实例详解

    以126邮箱为例 1 首先进126邮箱设置,开启: √POP3/SMTP服务  √IMAP/SMTP服务 成功开启后会获得一个授权码. 2. setting.py配置: # 配置发送邮箱 # 需要登录网易邮箱开通发送邮件的功能! EMAIL_USE_SSL = False EMAIL_HOST = 'smtp.126.com' EMAIL_PORT = 25 EMAIL_HOST_USER = 'xxx@126.com' # 邮件发送者帐号 EMAIL_HOST_PASSWORD = 'xxxx

  • Spring框架JavaMailSender发送邮件工具类详解

    本文实例为大家分享了Spring框架JavaMailSender发送邮件工具类,供大家参考,具体内容如下 需要用到的jar包: 下面是发送工具类代码: package com.test.email; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.Jav

  • Golang利用自定义模板发送邮件的方法详解

    前言 在几周前,我开始工作于一个证券投资组合网站.虽然我只能使用 React 完成整个网站,但我决定使用 Go 来创建一个可以处理某些任务(例如发送 email)的 API 服务器,相信这是一个很好的做法. 我其中的一个页面是一个 contact 页面,目前看起来像这样: contact me 我想使用专门为此 contact 表单申请的 Gmail 帐户发送一封邮件.除了我以前用过 Javascript 发送电子邮件的事实,我没有特别选择 Go.但为什么不尝试 Go 呢?我觉得 Go 很棒.

  • 详解python定时简单爬取网页新闻存入数据库并发送邮件

    本人小白一枚,简单记录下学校作业项目,代码十分简单,主要是对各个库的理解,希望能给别的初学者一点启发. 一.项目要求 1.程序可以从北京工业大学首页上爬取新闻内容:http://www.bjut.edu.cn 2.程序可以将爬取下来的数据写入本地MySQL数据库中. 3.程序可以将爬取下来的数据发送到邮箱. 4.程序可以定时执行. 二.项目分析 1.爬虫部分利用requests库爬取html文本,再利用bs4中的BeaultifulSoup库来解析html文本,提取需要的内容. 2.使用pymy

  • Python利用Flask-Mail实现发送邮件详解

    目录 前言 qq邮箱开启smtp服务 Flask-Mail的安装 Flask-MailQQ邮箱的配置 Flask-Mail的使用 前言 在开发过程中,很多应用程序都需要通过邮件提醒用户, Flask 的扩展包 Flask - Mail 通过包装了 Python 内置的smtplib包,可以用在 Flask 程序中发送邮件.Flask - Mail 连接到简单邮件协议( Simple Mail Transfer Protocol , SMTP )服务器,并把邮件交给服务器发送! qq邮箱开启smt

  • Redis 实现队列原理的实例详解

    Redis 实现队列原理的实例详解 场景说明: ·用于处理比较耗时的请求,例如批量发送邮件,如果直接在网页触发执行发送,程序会出现超时 ·高并发场景,当某个时刻请求瞬间增加时,可以把请求写入到队列,后台在去处理这些请求 ·抢购场景,先入先出的模式 命令: rpush + blpop 或 lpush + brpop rpush : 往列表右侧推入数据 blpop : 客户端阻塞直到队列有值输出 简单队列: simple.php $stmt = $pdo->prepare('select id, c

  • IOS自带Email的两种方法实例详解

    IOS自带Email的两种方法实例详解 IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. 1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时退出.下面是使用openURL来发邮件的一个小例子: #pr

随机推荐