2010-04-07 2 views
0

Мы создаем проект с большим количеством разных шаблонов писем. Существуют разные сообщения для разных целей, и мы пытаемся сделать кодирование простым и понятным в будущем.Лучший подход к электронной почте с шаблонами электронной почты

Кстати, мы имеем различные транспортные классы, такие как электронная почта, SMS, твиттер против ...

Теперь мы делаем это, но я не знаю, если есть лучшее решение.

У нас есть класс, называемый

H2B_Message_Container_Mail_About_Blablabla 

имеет 4 метода;

interface H2B_Message_Mail_Interface 
{ 
    public function setName($name); 
    public function setValue($key, $value); 
    public function getMailBody(); 
    public function getMailSubject(); 
} 

и в почтовом теле есть различные переменные, как ожидалось.

Прежде чем отправлять почту, мы получаем значения переменных из базы данных в формате JSON и декодируем ее.

Затем мы отправляем его как;

$mail = new H2B_Message_Mail(); 
$mail->setTemplate($newTemplate); 
$mail->send(); 

Вопрос в том, Есть лучший способ сделать это ?

+0

хорошо, что, по вашему мнению, может быть улучшено с помощью вашей текущей реализации? Лично я бы просто использовал один класс meaasging, а затем имел сеттеры для настройки типа транспорта, но я не думаю, что это дает явное преимущество над тем, что вы описали. – prodigitalson

ответ

1
  1. Метод send не в интерфейсе
  2. Тип транспорта должен быть настраиваемым я думаю.

Ваш интерфейс выглядит как Zend_Mail. Это несколько простой интерфейс, который может быть достаточно хорошим для вас. Но если вы хотите отправлять электронные письма со встроенными изображениями, лучше разделить свои интерфейсы. Лучше вы просто используете Swiftmailer, согласно многим лучшим Php Mailer.

+0

+1 для рекомендации SwiftMailer. – prodigitalson

+0

У меня не проблема с рассылкой, но хранение шаблонов и работа с ними. Также мы не хотим отправлять изображения только в виде писем. Кстати, код выше не является фактическим кодом, я упростил вам понять легко. –

Смежные вопросы