- 浏览: 79795 次
文章分类
最新评论
-
kantian:
<div class="quote_title ...
Yii中使用Yii-mail扩展发送邮件 -
4654kgdyniv13:
请问验证用户和密码写什么用户和密码?
Yii中使用Yii-mail扩展发送邮件 -
yanzhoupuzhang:
好!简单,实用,谢谢了啊!
PHP写XML文件
本文参考 http://www.yiiframework.com/extension/mail/ 做成
yii-mail下载地址:http://code.google.com/p/yii-mail/downloads/list
下载完成之后,将解压后的文件夹放在:项目文件夹\protected\extensions\下面
-------------------------------------------------------
main.php文件的配置
Model: MailForm.php
-------------------------------------------------------
View: index.php
-------------------------------------------------------
Controller: MailController.php
-------------------------------------------------------
我是在本地做的测试,可以成功发送邮件的
前提是如果没有邮件发送服务器的话,需要在本地搭建一个邮件发送服务器,我是windows平台下选用hmailserver 这个来搭建的,具体搭建过程可以google一下
上面的host username password port 跟hmailserver里面设置的
yii-mail下载地址:http://code.google.com/p/yii-mail/downloads/list
下载完成之后,将解压后的文件夹放在:项目文件夹\protected\extensions\下面
-------------------------------------------------------
main.php文件的配置
'import'=>array( 'application.extensions.yii-mail.*', ), 'components'=>array( 'mail'=>array( 'class' => 'application.extensions.yii-mail.YiiMail', 'viewPath' => 'application.views.mail', 'logging' => true, 'dryRun' => false, 'transportType'=>'smtp', // case sensitive! 'transportOptions'=>array( 'host'=>'mail.kai.jp', // smtp服务器 'username'=>'*******' // 验证用户 'password'=>'*******', // 验证密码 'port'=>'587', // 端口号 //'encryption'=>'ssl', ), ), ),
Model: MailForm.php
-------------------------------------------------------
<?php class MailForm extends CFormModel { public $from; public $to; public $subject; public $body; public function rules() { return array( array('from, to, subject, body', 'required'), array('from, to, subject, body ','safe'), ); } public function attributeLabels() { return array( 'from' => '送信人', 'to' => '收信人', 'subject' => '标题', 'body' => '邮件内容', ); } } ?>
View: index.php
-------------------------------------------------------
<?php $this->pageTitle=Yii::app()->name . ' - 送信'; $this->breadcrumbs=array('送信',); ?> <h1>邮件送信</h1> <!-- ▼显示提示信息▼ --> <?php if(Yii::app()->user->hasFlash('success')){ ?> <div class="flash-success"> <?php echo Yii::app()->user->getFlash('success'); ?> </div> <?php } ?> <?php if(Yii::app()->user->hasFlash('failed')){ ?> <div class="flash-error"> <?php echo Yii::app()->user->getFlash('failed'); ?> </div> <?php } ?> <!-- ▲显示提示信息▲ --> <div class="form"> <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'mail-form', 'method'=>'post', 'enableClientValidation'=>true, 'clientOptions'=>array(), )); ?> <?php //echo $form->errorSummary($model); ?> <!-- 送信元 --> <div class="row"> <?php echo $form->labelEx($model,'from'); ?> <?php echo $form->textField($model,'from'); ?> <?php echo $form->error($model,'from'); ?> </div> <!-- 送信先 --> <div class="row"> <?php echo $form->labelEx($model,'to'); ?> <?php echo $form->textField($model,'to'); ?> <?php echo $form->error($model,'to'); ?> </div> <!-- 件名 --> <div class="row"> <?php echo $form->labelEx($model,'subject'); ?> <?php echo $form->textField($model,'subject'); ?> <?php echo $form->error($model,'subject'); ?> </div> <!-- 内容 --> <div class="row"> <?php echo $form->labelEx($model,'body'); ?> <?php echo $form->textArea($model,'body', array('cols'=>'80', 'rows'=>'10',)); ?> <?php echo $form->error($model,'body'); ?> </div> <div class="row"> <?php echo CHtml::Button('送信', array( 'submit'=>array(), 'params'=>array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken), )); ?> </div> <?php $this->endWidget(); ?> </div>
Controller: MailController.php
-------------------------------------------------------
<?php class MailController extends Controller { public function actionIndex() { $model = new MailForm(); if (isset($_POST["MailForm"])){ $model->attributes=$_POST['MailForm']; if($model->validate()) { $message = new YiiMailMessage(); $message->setFrom(array($model->from => '送信人')); $message->setTo(array($model->to => '收信人')); $message->setSubject($model->subject); $message->setBody($model->body); $sendmail = Yii::app()->mail->send($message) ; if ($sendmail) { Yii::app()->user->setFlash("success", "Emails sent: OK \n" ); $this->refresh(); } else { Yii::app()->user->setFlash("failed", "Emails sent: NG \n"); } } } $this->render('index', array( 'model' => $model, )); } }
评论
2 楼
kantian
2013-05-29
4654kgdyniv13 写道
请问验证用户和密码写什么用户和密码?
我是在本地做的测试,可以成功发送邮件的
前提是如果没有邮件发送服务器的话,需要在本地搭建一个邮件发送服务器,我是windows平台下选用hmailserver 这个来搭建的,具体搭建过程可以google一下
// application components 'components'=>array( 'user'=>array( // enable cookie-based authentication 'allowAutoLogin'=>true, ), 'mail' =>array( 'class' => 'application.extensions.yii-mail.YiiMail', 'viewPath' => 'application.views.mail', 'logging' => true, 'dryRun' => false, 'transportType' => 'smtp', 'transportOptions' => array( 'host' => 'localhost', 'username' => 'administrator', 'password' => '123456', 'port' => '25', ), ),
上面的host username password port 跟hmailserver里面设置的
1 楼
4654kgdyniv13
2012-10-26
请问验证用户和密码写什么用户和密码?
发表评论
-
XDebug的安装
2012-10-11 15:15 829XdebugXdebug是一个开放源代码的PHP程序调试器(即 ... -
CJuiSlider的使用范例
2012-10-10 14:27 821<View> ------------------------ ... -
Yii中ajax使用范例(用success代替update)
2012-09-26 13:30 1394view ------------------------- ... -
yii获取当前url和域名
2012-08-14 11:35 1242转自:http://lxy.me/the-yii-access ... -
Ubuntu下搭建PHP开发环境(Apache+Mysql+PHP5)
2012-08-09 17:10 872Ubuntu下搭建PHP开发环境(Apache+Mysql+P ... -
不使用wsdl文件的SOAP范例
2012-08-01 09:30 1949不使用wsdl文件的SOAP范例 一,范例一 1.服务器端 ... -
Yii中用Ajax实现下拉列表级联的范例
2012-07-30 12:01 1106页面View中 <?php echo $form ... -
PHP中字符日期的转换
2012-07-27 11:42 979<?php // 获取系统当前时间 ... -
CJuiDatePicker控件使用范例
2012-07-26 14:45 1030CJuiDatePicker是集成在Yii框架中的jquery ... -
Yii验证控件示范代码
2012-07-20 14:06 887日期格式的验证 array('start_dat ... -
CActiveRecord中distinct的使用
2012-07-17 17:36 677方法一: $data = sel ... -
CHtml::button的使用
2012-07-17 11:51 1287echo CHtml::button("提交& ... -
[转]aptitude的基本知识
2012-07-12 17:53 889aptitude 与 apt-get 一样,是 Debi ... -
Yii中文件上传下载 (CHtml::activeFileField)
2012-07-05 12:18 2900页面 ---------------------------- ... -
yii-mail中使用模板送信
2012-07-05 10:17 1757yii-mail下载地址:http://code.google ... -
Yii中队邮件地址前后台的验证范例
2012-07-05 09:54 970客户端,服务器端对邮件地址的验证代码 前台代码 ----- ... -
Yii中Ajax的使用
2012-07-04 12:48 4847view ------------------------- ... -
用PHPMailer送信
2012-07-03 14:12 1115PHPMailer下载地址:http://code.googl ... -
Yii中POS和GET并用范例
2012-06-21 11:55 1824页面 <?php $form=$this-&g ... -
PHP获取远程文件信息
2012-05-30 10:24 818$url = 'http://.../conf ...
相关推荐
PHP YII 发送邮件扩展 使用方法: $mail = new YiiMailer(); //$mail->clearLayout();//if layout is already set in config $mail->setFrom('from@example.com', 'John Doe'); $mail->setTo(Yii::app()->params['...
yii2-mailqueue, 用于 yii2 swiftmailer https的yii2的电子邮件队列组件 yii2-mailqueue适用于 yii2-swiftmailer的yii2的电子邮件队列组件安装安装这个扩展的首选方法是通过 composer插件。运行...
Maili Extension for Yii 2 该扩展为提供了邮件解决方案。安装安装此扩展的首选方法是通过 。 composer require boundstate/yii2-mailgun与Guzzle,Buzz或其他发送HTTP消息的库并非硬耦合。 您还必须安装要使用的。 ...
yii2-通知该模块提供了一种通过各种交付渠道发送通知的方法,包括邮件、屏幕、SMS(通过 Nexmo)等。通知也可以存储在数据库中,以便它们可以显示在您的 Web 界面中。 通知是通知用户应用程序中发生的事情的短消息。...
该扩展为提供了邮件解决方案。 有关许可证信息,请检查文件。 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist yiisoft/yii2-swiftmailer 或添加 " yiisoft/yii2-...
通过以上步骤,你就能够成功地在Yii框架中集成并使用PHPMailer扩展发送邮件。这个过程不仅简化了邮件发送的代码,还提供了更好的可维护性和灵活性。在实际项目中,你可能需要根据需求调整邮件内容、添加附件、处理...
yii2-邮箱Yii 2.0的简单邮箱安装安装此扩展的首选方法是通过 。 无论运行php composer.phar require --prefer-dist hscstudio/yii2-mailbox "1.0"或添加"hscstudio/yii2-mailbox": "1.0"到composer.json文件的...
该模板在modules \ v1 \ controllers下包含两个控制器,这些控制器演示了您可以自定义的简单控制器,以及一个基于\ yii \ rest \ ActiveController的控制器,该控制器通过使用web.php config中配置的UrlRule通过API...
7. **Mailer**:发送电子邮件的组件,支持 SMTP 和 PHP 的 mail() 函数。 **三、数据库操作** 1. **Active Record**:提供对象化的数据库操作,如 find(), save(), delete() 方法,支持链式操作。 2. **Query ...
Yii 2 基础应用模板Yii 2 Basic Application Template 是一个骨架 Yii 2 应用程序,最适合快速创建小项目。 该模板包含基本功能,包括用户登录/注销和联系页面。 它包括所有常用配置,使您可以专注于向应用程序添加...
- SMTP (Simple Mail Transfer Protocol) 用于发送电子邮件。 - POP3 (Post Office Protocol Version 3) 和 IMAP (Internet Message Access Protocol) 用于接收电子邮件。 4. **WebSocket**: - WebSocket 协议...
5. **邮件协议**:发送和接收邮件涉及SMTP(Simple Mail Transfer Protocol)和POP3/IMAP(Post Office Protocol/Internet Message Access Protocol)。开发者需要理解这些协议的工作原理,并用PHP的`phpmailer`库或...
12. 邮件服务:用户注册、订单确认等场景可能需要用到邮件发送功能,PHP的mail()函数或者第三方SMTP库如PHPMailer可能会被使用。 通过深入学习和分析这个基于PHP的188商城系统源码,开发者不仅可以提升PHP技能,还...
10. **邮件发送**:通过`mail()`函数发送电子邮件,或者使用PHPMailer库发送更复杂的邮件,包括附件和HTML内容。 11. **验证码**:生成和验证图像验证码,防止机器人自动操作。 12. **缓存技术**:了解APC、...
5. `mail()`发送电子邮件; 6. `date()`和`strtotime()`处理日期和时间。 三、面向对象编程 PHP5引入了完整的面向对象编程(OOP)支持,包括类、对象、继承、封装和多态性。手册详细解释了如何定义类、创建对象、...
5. **邮件发送**:使用PHP的mail()函数或第三方库发送电子邮件。 6. **缓存机制**:通过缓存技术如APC、Memcached或Redis提高网站性能。 7. **API开发**:构建RESTful API,使其他应用或服务能与PHP应用进行数据交换...
8. **邮件发送**:使用mail()函数可以方便地发送邮件,支持添加附件和设置邮件头信息。 9. **模板引擎**:PHP5常常与模板引擎如Smarty结合使用,将业务逻辑与显示逻辑分离,提高代码可维护性。 10. **Web框架**:...
2. **邮件发送**:使用PHP的mail函数发送电子邮件,或使用第三方库如PHPMailer。 3. **模板引擎**:了解如何使用Smarty等模板引擎分离业务逻辑和视图。 4. **缓存技术**:使用PHP的APC、Memcached或Redis进行数据...
14. **邮件发送**:使用PHP的mail函数或第三方库如PHPMailer发送电子邮件。 15. **Cookie使用**:设置和读取Cookie,用于实现简单的用户跟踪或登录状态保存。 每个例子都可能包含上述的一个或多个知识点,通过实践...