Was ist die beste Möglichkeit, E-Mail-Vorlagen in Zend / PHP zu verwenden?

Ich arbeite an einer Website, auf der Benutzer ihre Konten erstellen. Ich muss E-Mails an Benutzer in vielen Ozeanen senden. Zum Beispiel bei der Anmeldung, Passwort vergessen, Bestellübersicht etc. Ich möchte dafür E-Mail-Vorlagen verwenden. Ich brauche deine Vorschläge dafür. Ich möchte eine Möglichkeit nutzen, die sich ändert, wenn ich eine E-Mail-Vorlage ändere oder mich in kürzerer Zeit anmelde und ändere.

Ich habe über folgenden Weg nachgedacht:

Ich habe eine Tabelle für E-Mail-Vorlagen wie diese:

id
emailSubject
emailBody
emailType

Zum Beispiel, wenn der Benutzer das Passwort vergessen hat:

Ich würde:

1

E-Mail Betreff:

ABC: Link for Password Change

Nachrichtentext:

<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

E-Mail-Daten vorbereiten:

$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";

Übergeben Sie nun alle Felder an diese Funktion, um eine E-Mail zu senden:

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
}

Ich hatte vor, obige Methode zu verwenden. Können Sie einen besseren Weg oder eine Änderung in der obigen Logik vorschlagen?

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage