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