首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在yii中使用电子邮件格式

在yii中使用电子邮件格式
EN

Stack Overflow用户
提问于 2016-02-01 18:48:02
回答 2查看 61关注 0票数 1

我可以发送简单的电子邮件到receiver.Now我必须能够从现有的不同格式中选择电子邮件格式,此模板必须出现在我的消息框中。我还应该能够在发送到receiver.How之前更改消息框中显示的模板内容。

我的视图窗体代码

代码语言:javascript
复制
<div class="form wide">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'mail-form',
'enableAjaxValidation'=>true,
'htmlOptions' => array('enctype' => 'multipart/form-data'), // ADD THIS
)); ?>
<div class="row col2">
    <?php echo $form->labelEx($model,'email_from'); ?>
    <?php echo $form->textField($model,'email_from',array('size'=>50,'maxlength'=>50,'readonly'=>'readonly')); ?>
    <?php echo $form->error($model,'email_from'); ?>
</div>
<div class="row col2">
    <?php echo $form->labelEx($model,'email_to'); ?>
    <?php echo $form->textField($model,'email_to',array('size'=>50,'maxlength'=>50)); ?>
    <?php echo $form->error($model,'email_to'); ?>
</div>
<div style="clear:both"></div>
<div class="row col2">
    <?php echo $form->labelEx($model,'subject'); ?>
    <?php echo $form->textField($model,'subject',array('size'=>60,'maxlength'=>250)); ?>
    <?php echo $form->error($model,'subject'); ?>
</div>
<div style="clear:both"></div>
<div class="row col2">
    <?php echo $form->labelEx($model,'message'); ?>
    <?php echo $form->textArea($model,'message',array('style'=>'width: 680px; height: 300px;')); ?>
    <?php echo $form->error($model,'message'); ?>
</div>
<div style="clear:both"></div>
<div class="row buttons">
    <?php
    echo CHtml::submitButton($model->isNewRecord ? 'Send' : 'Send',array('class' => 'btn'));
     ?>
</div>

<?php $this->endWidget(); ?>
</div><!-- form -->
EN

回答 2

Stack Overflow用户

发布于 2016-02-01 19:01:44

试试下面的代码:

代码语言:javascript
复制
public function actionContact() {
    $model = new ContactForm();
    if ($model->load(Yii::$app->request->post()) && $model->validate()) {

        $status = Yii::$app->mailer->compose()
            ->setTo($model->email_to)
            ->setFrom([$model->email_from => $model->email_from])
            ->setSubject($model->subject)
            ->setTextBody($model->message)
            ->send();

        if ($status) {
            Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.');
        } else {
            Yii::$app->session->setFlash('error', 'There was an error sending email.');
        }
        return $this->refresh();
    } else {
        return $this->render('contact', [
            'model' => $model,
        ]);
    }
}

您还可以在views文件夹下创建email_template目录,并创建模板文件,您可以在其中设置电子邮件模板内容。

票数 0
EN

Stack Overflow用户

发布于 2016-02-01 19:27:29

您可以使用js或ajax来做同样的事情。1:使用jQuery:我假设您使用的是jQuery。所以使用ajax。

代码语言:javascript
复制
.......JS Cod........
/*I assume that you have your template data in an attribute like data-template-data=""*/
$('#select_template_id').chang(function(){
    template=$(this).attr('data-template-data');
    $('#template_edit_box').val(template);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35128577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档