Qual é a melhor maneira de usar o Modelo de Email no Zend / PHP

Estou trabalhando em um site no qual os usuários criam suas contas. Preciso enviar email para usuários em muitos oceanos. Por exemplo, ao se inscrever, esqueci a senha, o resumo do pedido etc. Quero usar modelos de e-mail para isso. Eu preciso de suas sugestões para isso. Eu quero usar uma maneira que se eu alterar qualquer modelo de email ou entrar em menos tempo e alterações.

Eu pensei na seguinte maneira:

Eu tenho uma tabela para modelos de email como este:

id
emailSubject
emailBody
emailType

Por exemplo, quando o usuário esqueceu a senha:

Eu iria:

1

assunto do email:

ABC: Link for Password Change

corpo do e-mail:

<table border=0>
<tr><td>
   <b> Dear [[username]] <b/>
</td></tr>

<tr><td>
   This email is sent to you in response of your password recovery request. If you want to change your password, please click the following link:<br />
[[link1]]
<br/>
If you don't want to change your password then click the following link:<br/>
[[link2]]
</tr></td>

<tr><td>
   <b>ABC Team</b>
</td></tr>

</table>

emailType:

ForgotPassword

Prepare dados de email:

$emailFields["to"] = "[email protected]";
$emailFields["username"] = "XYZ";
$emailFields["link1"] = "http://abc.com/changepassword?code='123'";
$emailFields["link2"] = "http://abc.com/ignorechangepasswordreq?code='123'";
$emailFields["emailTemplate"] = "ForgotPassword";

Agora passe todos os campos para esta função para enviar email:

sendEmail( $emailFields ){
 // Get email template from database using emailTemplate name.
 // Replace all required fields(username, link1,link2) in body.
 // set to,subject,body
 // send email using zend or php
}

Planejei usar o método acima. Você pode sugerir uma maneira melhor ou alguma mudança na lógica acima?

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion