Zend_Mail 邮件发送(SMTP方式)

Zend_Mail邮件发送

转载请注明出处,尊重原创:http://blog.csdn.net/a437629292/article/details/41700009

一、 邮件发送方式:

1.直接邮件服务器发送:

直接使用邮件服务器发送,也就是php程序所在服务器上本来就是邮件服务器(即配置成SMTP邮件服务器),并且发送到的对方也必须是邮件服务器,比如QQ邮箱,163邮箱等等,他们直接也是使用SMTP协议

2. 委托其他邮件服务器发送:

php程序委托其他邮件服务器发送邮件(必须条件:该服务器可以上网),比如:使用zend提供的Zend_Mail插件发送邮件。

二、 SMTP形式邮件发送:

首先,委托其他邮件服务器发送邮件,得有一系列的参数设置:比如:你得先在该邮件服务器上注册有邮箱,所以配置邮箱登陆名和密码是必须的,还有发送的主题,内容,接收者等等。

详细见代码:


<?php

require_once ‘Zend/Mail.php‘;

require_once ‘Zend/Mail/Transport/Smtp.php‘;

class sendMail

{

private static $_config =array(

‘auth‘ =>
‘login‘,

‘username‘ =>
‘[email protected]‘,

‘password‘ =>
‘xxxxx‘

);
// 定义SMTP的验证参数,设置正确的邮箱和登录密码

private static $_mail =null;

private static $_transport =null;

public static function
send($title, $body, $address)

{

try {

$transport = new
Zend_Mail_Transport_Smtp(‘smtp.163.com‘,self::$_config);//实例化验证的对象

$mail = new
Zend_Mail(‘UTF-8‘);
// 实例化发送邮件对象

$mail->setBodyHtml($body);
// 发送邮件的主体

$mail->setFrom(‘[email protected]‘,‘‘);//
定义邮件发送使用的邮箱

$mail->addTo("$address",‘‘);//
定义邮件的接收邮箱

$mail->setSubject($title);
// 定义邮件主题

$mail->send($transport);
// 执行发送操作

return true;

} catch (Exception $e) {

$e->getTrace();

return false;

}

}

}

代码关键部分已经加有注释,就罗嗦了,有问题直接问我。

三、 使用实例

在需要邮件发送的时候,实例化sendMail类,然后调用该类的send方法传入相应参数即可。

详细见代码:


$title="测试";

$body=‘<h1>这是一封来自MarkTao的测试PHP邮件发送邮件!</h1><a
href="#">请确认</a>‘;

$address = ‘[email protected]‘;

$sendMail = newsendMail();

$sendMail->send($title, $body, $address);

title 为邮件的主题(标题)

body为邮件内容,支持html格式。

address 接收邮件的地址

四、 总结

sendMail中的config,其实像这种配置参数之类的,最好还是可以配置到配置文件中去,然后读取,这样拓展性就更强一些了。

还有一种方式是通过PHPMailer,这个就不是使用zend内部的mail类了,需要去下载一些类包,然后引入使用。

时间: 2024-08-23 06:01:03

Zend_Mail 邮件发送(SMTP方式)的相关文章

iOS开发-邮件发送

Web开发的时候邮箱注册登录是必不可少的,手机号可以更换,不过相对而言,邮箱只是用于比较重要的时候用到,比如找工作的时候必填的邮箱,注册网站会员的邮箱验证.现在的手机和Web的其实操作是一样的,大多数情况还是邮件的发送,iOS上有两种邮件发送的方式,一种是使用内置的MFMailComposeViewController发送邮件,第二种就是通过第三方类库SKPSMTPMessage发送邮件(https://github.com/jetseven/skpsmtpmessage). MFMailCom

PHP SMTP邮件发送(可加附件)

<?php /** * @param $address mixed 收件人 多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2)) * @param $subject string 邮件主题 * @param $body

Laravel5.5 邮件驱动使用 SMTP 驱动实现邮件发送

laravel5.5 邮件驱动 Laravel 支持多种邮件驱动,包括 smtp.Mailgun.Maildrill.Amazon SES.mail 和 sendmail.Mailgun . Maildrill 都是第三方邮件服务.mail 驱动使用 PHP 提供的 mail 函数.sendmail 驱动通过 Sendmail/Postfix(Linux)提供的命令发送邮件,smtp 驱动使用支持 ESMTP 的 SMTP 服务器发送邮件.mail 不安全,sendmail 需要安装配置 Sen

ThinkPHP邮件发送S(Smtp + Mail + phpmailer)

三种邮件发送介绍:(Smtp,Mail以及phpmailer)ThinkPhp 框架下开发. 邮件发送配置先前准备(用该账号做测试用):(这里用新浪邮箱服务器)将自己的新浪邮箱开通 POP3/SMTP服务: 新浪邮箱中  :设置->账户下面的 POP3/SMTP服务 选择开通(然后一步一步完成开通). 客户端html代码: 1 <body> 2 <!--<h1>发送信息测试</h1>--> 3 <div>请输入发送地址(1):<inp

Exchange 2013 PowerShell发送SMTP邮件

作为一个Exchange管理员,我们可能需要使用PowerShell脚本自动化的发送电子邮件.下面一起学习下如何使用PowerShell脚本在你的组织中发送SMTP电子邮件信息. 怎么做到这点呢? PowerShell V2以及后续版本都提供了核心命令可以通过SMTP发送电子邮件信息.使用下面的语法可以发送一份电子邮件信息: Send-MailMessage -To [email protected] ` -From [email protected] ` -Subject "Test E-ma

python实现邮件发送完整代码(带附件发送方式)

实例一:利用SMTP与EMAIL实现邮件发送,带附件(完整代码) __author__ = 'Administrator'#coding=gb2312 from email.Header import Headerfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartimport smtplib, datetime def SendMailAttach(): msg = MIMEMultip

smtp模块+Gmail搭建邮件发送功能

声明:以下步骤在drupal7下测试通过(将gmail换为有smtp 服务器的sina邮箱可以发送邮件) 1.下载smtp模块: http://drupal.org/project/smtp(link is external) 2.解压模块,并在drupal下安装smtp模块. 3.配置stmp服务器:admin/config/system/smtp页面下配置 Turn this module on or off: On SMTP server: SMTP服务器地址(google为:smtp.g

免费超大量邮件发送服务Amazon SES和Mailgun提供SMTP和API支持

一般来说网站注册.论坛消息.新闻推送.广告宣传等都会有发送邮件服务,大量的邮件发送服务如果用PHP来发送,一是会消耗主机资源,二是容易被各大邮箱判定为垃圾邮件而被拒收.用第三方的邮局服务发送邮件,可以保证邮件到达率,同时适合超大量的邮件发送服务. 与部落之前介绍的腾讯企业邮箱.新浪企业邮箱等发送邮件服务不同,Amazon SES和Mailgun是专业级别的邮件发送服务,能够满足企业或者个人每天超大量邮件发送服务,并且保证邮件足够的到达率,如果你愿意付费的话,可以极低价格发送每天上万封的邮件. A

C# 通过smtp服务器进行邮件发送 MailHelper

C# 通过smtp服务器进行邮件发送 MailHelper.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.We