CakePHP emailFormat(“两者”)与emailFormat(“html”)和emailFormat(“文本”)

CakePHP emailFormat(“两者”)与emailFormat(“html”)和emailFormat(“文本”),cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,cakephp文档中指出,如果设置如下,则可以同时使用文本和html模板文件: $email = new Email(); $email ->template('welcome', 'fancy') ->emailFormat('both') ->to('bob@example.com') ->from('app@domain.com') ->send(); 这将使用以下模板文件: src/Template/Email/te

cakephp文档中指出,如果设置如下,则可以同时使用文本和html模板文件:

$email = new Email();
$email
    ->template('welcome', 'fancy')
    ->emailFormat('both')
    ->to('bob@example.com')
    ->from('app@domain.com')
    ->send();
这将使用以下模板文件:

src/Template/Email/text/welcome.ctp   
src/Template/Layout/Email/text/fancy.ctp   
src/Template/Email/html/welcome.ctp   
src/Template/Layout/Email/html/fancy.ctp
它如何在这里同时使用html和文本文件?创建视图时是否同时检查文本文件和html文件?如果这些模板中存在差异怎么办

将emailFormat设置为两者时,CakePHP会将这两个模板都放在电子邮件中,并将消息的内容类型头设置为multipart/alternative。通过这种行为,接收端将获得同一消息的两个版本,并且能够选择使用哪个版本

这意味着您可以向能够显示您的电子邮件的用户提供丰富多彩的HTML版本,还可以提供简单的纯文本版本的邮件,这些邮件将由不能或拒绝呈现HTML电子邮件的电子邮件客户端使用


有关更多信息,请查看,以及

Szymon谢谢你。我正在处理现有的项目,无法理解使用这两个模板的原因。