- 浏览: 77623 次
文章分类
最新评论
-
kantian:
4654kgdyniv13 写道请问验证用户和密码写什么用户和 ...
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 786XdebugXdebug是一个开放源代码的PHP程序调试器(即 ... -
CJuiSlider的使用范例
2012-10-10 14:27 784<View> ------------------------ ... -
Yii中ajax使用范例(用success代替update)
2012-09-26 13:30 1364view ------------------------- ... -
yii获取当前url和域名
2012-08-14 11:35 1206转自:http://lxy.me/the-yii-access ... -
Ubuntu下搭建PHP开发环境(Apache+Mysql+PHP5)
2012-08-09 17:10 840Ubuntu下搭建PHP开发环境(Apache+Mysql+P ... -
不使用wsdl文件的SOAP范例
2012-08-01 09:30 1920不使用wsdl文件的SOAP范例 一,范例一 1.服务器端 ... -
Yii中用Ajax实现下拉列表级联的范例
2012-07-30 12:01 1073页面View中 <?php echo $form ... -
PHP中字符日期的转换
2012-07-27 11:42 942<?php // 获取系统当前时间 ... -
CJuiDatePicker控件使用范例
2012-07-26 14:45 985CJuiDatePicker是集成在Yii框架中的jquery ... -
Yii验证控件示范代码
2012-07-20 14:06 857日期格式的验证 array('start_dat ... -
CActiveRecord中distinct的使用
2012-07-17 17:36 644方法一: $data = sel ... -
CHtml::button的使用
2012-07-17 11:51 1251echo CHtml::button("提交& ... -
[转]aptitude的基本知识
2012-07-12 17:53 857aptitude 与 apt-get 一样,是 Debi ... -
Yii中文件上传下载 (CHtml::activeFileField)
2012-07-05 12:18 2856页面 ---------------------------- ... -
yii-mail中使用模板送信
2012-07-05 10:17 1724yii-mail下载地址:http://code.google ... -
Yii中队邮件地址前后台的验证范例
2012-07-05 09:54 947客户端,服务器端对邮件地址的验证代码 前台代码 ----- ... -
Yii中Ajax的使用
2012-07-04 12:48 4807view ------------------------- ... -
用PHPMailer送信
2012-07-03 14:12 1082PHPMailer下载地址:http://code.googl ... -
Yii中POS和GET并用范例
2012-06-21 11:55 1797页面 <?php $form=$this-&g ... -
PHP获取远程文件信息
2012-05-30 10:24 787$url = 'http://.../conf ...
相关推荐
yii-advanced-app-2.0.4 下载
官网原版,供不方便下载的开发者使用
yii2高级多应用脚手架,下载yii-advanced-app-2.0.36.tgz直接使用开发,下载不了的朋友可以方便下载使用
Yii2框架basic版本,修复了 yii\web\ViewAction 类中的安全问题。
yii-basic-app-2.0.7
yii2基础脚手架,下载yii-basic-app-2.0.36.tgz直接使用开发,下载不了的朋友可以方便下载使用
YII2.0的中文离线html版,还有YII2.0的英文离线html版和yii-guide-2.0-zh-cn 官方中文文档PDF,请点头像自行下载,谢谢
yii2-oauth2-server, 用于实现OAuth2服务器的包装器( https yii2-oauth2-server用于实现OAuth2服务器的包装器( https://github.com/bshaffer/oauth2-server-php 插件)安装安装这里扩展的首选方法是通过 Composer 。...
yii-advanced-app-2.0.8.tgz 由于国外服务器下载太慢,共享下,用composer安装没有vendor核心文件夹
yii2.0.11
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['...
yii-basic-app为yii框架的基础版,由于国内下载可能较慢,所以上传供需要的使用
yiren-p8Yii-ve2467575-x64.apk
yii框架基本版2.0.7,方便以后使用。
Yii2的高级应用程序模板yii-advanced-app-2.0.12.tgz
官网下载太慢了~这是yii2的基础归档文件的压缩包,版本是v2.0.32;直接下载到你的服务器根目录解压,具体操作请移步yii2的官网吧
官网下载太慢了~这是yii2的高级版归档文件的压缩包,版本是v2.0.35;直接下载到你的服务器根目录解压,具体操作请移步yii2的官网吧
yii2-device-detect, 移动检测库的Yii2扩展 yii2-device-detect基于Yii2扩展的移动检测库。使用它只需要在 composer.json file: 中使用这个扩展"alexandernst/yii2-device-detect":"0.0.12",
直接从github上面使用链接下载,几乎无法下载。 因此采用composer安装得到的源码,打包起来方便以后使用。
yii-advanced-app-2.0.2框架完整版下载