你能帮我想出一种方法来使用CI4的email类发送一封HTML邮件吗?
在Codeigniter 3中,它很简单,如下所示:
$email->message($this->load->view('html_page_to_send_from_view_folder',$data,true));
但在Codeigniter 4中,我尝试这样做:
$email->setMessage(echo view('html_page_to_send_from_view_folder',$data,true));
它给出一个错误:
syntax error, unexpected echo(T_ECHO), expecting ')'
我还尝试将视图放入一个变量中,如下所示:
$echo_page = echo view('html_page_to_send_from_view_folder',$data,true);
$email->setMessage($echo_page);
但它只是抛出相同的错误,我在互联网上搜索所有的文档,但无法找到一种方法来做到这一点.请帮助.
我尝试了这个,但没有得到错误,也没有得到电子邮件:'(
$echo_page = view('html_page_to_send_from_view_folder',$data,true);
$email->setMessage($echo_page);
3条答案
按热度按时间rur96b6h1#
根据this,如果你想使用一些模板作为你的消息正文,你应该这样做:
代码点火器4文档states:
dgsult0t2#
好的,我现在知道了,我通过添加代码$email-〉setNewLine(“\r\n”)使它工作;在setMessage:
并且我还将SMTP端口设置为587而不是465:
同样,对于setMessage,我是这样做的:
真的很奇怪的人....
ifsvaxew3#
**A.**首先,
代替:
$echo_page = echo view('html_page_to_send_from_view_folder',$data,true);
使用这个:
$echo_page = view('html_page_to_send_from_view_folder',$data);
echo
语句的运气,它没有将true
作为view(...)
heppler函数的第三个参数传递。***B.**其次,要提交基于HTML的电子邮件,请确保已将
mailType
属性设置为html
。这可以通过在Email示例上使用setMailType()
方法来实现。例如:$email->setMailType('html');
或者,您可以通过向email
initialize()
方法传递一个首选项值数组来设置 “mail type”,即: