Php Yii框架。I';I’’我想把内容放进我的博客里

Php Yii框架。I';I’’我想把内容放进我的博客里,php,yii,Php,Yii,在这一整天中,我一直致力于从数据库中向所有用户发送批量电子邮件功能。实际上,我想用html将内容添加到消息体中。我只想让身体说些类似的话: “你好 单击此处的链接以访问新内容 多谢各位。” 我的问题是如何将新创建的数据转换为可以放入setBody()函数的链接 下面是actionCreate()的代码: 更新: $html_version = '<p>Click <a href="#">link here</a> ...</p>'; $text_v

在这一整天中,我一直致力于从数据库中向所有用户发送批量电子邮件功能。实际上,我想用html将内容添加到消息体中。我只想让身体说些类似的话:

“你好

单击此处的链接以访问新内容

多谢各位。”

我的问题是如何将新创建的数据转换为可以放入setBody()函数的链接

下面是actionCreate()的代码:

更新:

$html_version = '<p>Click <a href="#">link here</a> ...</p>';
$text_version = "Click link here ...\nhttp://example.com";

$message = new YiiMailMessage;
$message->setBody($text_version);
$message->addPart($html_version, 'text/html');

YiiMailMessage包装了SwiftMailer,因此如果您想添加HTML,可以执行以下操作:

$html_version=”单击…

; $text\u version=“单击此处链接…”\nhttp://example.com"; $message=新的YiiMailMessage; $message->setBody($text\u版本); $message->addPart($html_版本,'text/html');
你在哪里声明
$message
?@adamS我更新了我的问题。请勾选“是”,但如何将创建的文件id转换为链接?一旦我执行actionCreate(),我想获得该链接,以便将其放入正文中。使用类似于
file\u put\u contents($filename,$content)
的方法。只要文件位于可通过web访问的文件夹中,您就可以链接到该文件,并且可以在邮件中包含该链接。我正在考虑这样做:Yii::app()->createAbsoluteUrl('user/reset/id/'。$key);但是我找不到我的钥匙了哈哈。不管你链接到什么,都需要通过网络路径。您可以根据需要动态生成它(可以使用HTML页面),也可以将其放入静态位置(可以使用PDF)。在另一个控制器中构建它,定义路由,然后生成您在这里提到的绝对url。还需要将其传递给email all方法吗?e、 g.
$this->emailAll($links)
 $message->setBody('Sample');
  public function emailAll()
    {

        $this->set_mail_settings();
        $message = new YiiMailMessage;        

            $emails = Yii::app()->db->createCommand("SELECT group_concat(email) as em FROM persons")->queryRow();
            $email_ids = explode(",",$emails["em"]);
            $message->setBcc($email_ids);
            $message->setBody('Sample');
            $message->subject = 'New Announcement Posted!';
            $message->addTo('no-one@nowhere.com');
            $message->from = Yii::app()->params['adminEmail'];
            Yii::app()->mail->send($message);                      
    }

 private function set_mail_settings()
    {            
        $sysParam = SystemParameters::model()->getSystemParameters(
        array("smtp_host", "smtp_port", 'smtp_user','smtp_password')
    );

        Yii::app()->mail->transportOptions['username'] = $sysParam['smtp_user'];
        Yii::app()->mail->transportOptions['password'] = $sysParam['smtp_password'];
        Yii::app()->mail->transportOptions['host'] = $sysParam['smtp_host'];
        Yii::app()->mail->transportOptions['port'] = $sysParam['smtp_port'];
    }
$html_version = '<p>Click <a href="#">link here</a> ...</p>';
$text_version = "Click link here ...\nhttp://example.com";

$message = new YiiMailMessage;
$message->setBody($text_version);
$message->addPart($html_version, 'text/html');