这是我当前的代码:
我想添加一些表格来更改电子邮件的设计,我对 PHP 和 ZEND 非常陌生,任何帮助都会非常感谢。
正如 Mike Brant 所说,您可以创建 HTML 然后内联复制。但是,您需要确保使用正确的 mime 类型发送电子邮件,以便用户的电子邮件阅读器知道呈现为 HTML 而不是纯文本。这并不难,但我发现 PEAR mail 和 mail_mime 库确实让正在做的事情变得更容易和更明显。还有一些 3rd 方电子邮件 api,例如我在一个使用http://swiftmailer.org/的项目上取得了很好的成功
最好的开始方法是按照您想要的方式在 HTML 中布局您的电子邮件,然后复制到您的 HEREDOC 部分并用变量替换内容。
您可以使用 Zend_Mail 类 (Zend/Mail.php) 发送电子邮件。详细信息在下面的代码示例中:
$mail = new Zend_Mail();
$mail->setBodyText($bodyText);
$mail->setBodyHtml($bodyHtml);
$mail->setFrom($senderAddress, $senderLabel);
$mail->addTo($recipientAddress, $recipientLabel);
$mail->setSubject($subject);
$mail->send();
您可能有一个问题是如何将电子邮件(文本和 html)内容分配给 $bodyText 和 $bodyHtml。您可以创建几个 phtml 文件,一个用于 html 内容,另一个用于文本。请参阅下面的代码以了解如何实现此目的:
$this->view->fullname = "John Abc";
$this->view->emaildata = $data //Possibly an array of data from the db
$bodyText = $this->view->render('emails/htmlemail.phtml')
$bodyHtml = $this->view->render('emails/textemail.phtml')
注意:此代码段应高于前一个代码段。
希望这能回答你的问题。快乐编码:)
如果您想通过管理区域管理内容、主题、发件人……,只需创建一个包含以下列的表:
现在您可以管理不同的邮件并删除您的视图(而不是布局)。
至少创建一个您可以通过这种方式访问的邮件类:
$mail = new My_Mail(My_Mail::PW_LOST);
$mail->bind($userData); // will replace the placeholders in the text
$mail->addTo(...);
$mail->send(); // will replace the placeholders in the text, renders the layout, Sends the mail.
代码示例: 如果您有兴趣,我可以在星期六提供代码示例