FuelPHP - E-Mail-Verwaltung
Die E-Mail-Funktionalität ist die am häufigsten nachgefragte Funktion in einem Webframework. FuelPHP bietet eine elegante E-Mail-Klasse, die als Paket gebündelt ist. Es wird verwendet, um einfache Nur-Text-E-Mails sowie erweiterte Rich-Text-E-Mails mit mehreren Anhängen zu senden. Es unterstützt die folgenden Funktionen: Nur-Text-Mails, HTML-Mails, Anhänge und Inline-Anhänge.
Aufbau
Um die E-Mail-Funktionalität in der Anwendung zu aktivieren, müssen wir nur das E-Mail-Paket laden, wie unten in der Hauptkonfigurationsdateiuel / app / config / config.php angegeben.
'always_load' => array (
'packages' => array (
'email',
),
),
Eine andere Möglichkeit besteht darin, das E-Mail-Paket, den Controller selbst, wie folgt zu laden.
\Package::load('email');
Die E-Mail-Einstellung kann in der Hauptkonfigurationsdatei vorgenommen werden. Einige der wichtigsten Optionen sind folgende:
driver - E-Mail-Treiber wie SMTP
is_html - Ob E-Mails als HTML-Inhalt gesendet werden sollen oder nicht
priority - Priorität der E-Mail
smtp.host - SMTP-Server-Host
smtp.port - SMTP-Server-Port
smtp.username - SMTP-Server-Benutzername
smtp.password - SMTP-Serverkennwort
smtp.timeout - SMTP-Zeitüberschreitung
smtp.starttls - Gibt an, ob der SMTP-Server den Befehl STARTTLS benötigt
E-Mail-API
Im Folgenden finden Sie die API, die von der E-Mail- und E-Mail-Treiberklasse bereitgestellt wird.
Schmiede
Zweck: Erstellen einer Instanz des E-Mail-Treibers. Es erstellt den Treiber basierend auf der Konfiguration oder Eingabe, die es empfängt. Der E-Mail-Treiber bietet Funktionen zum Erstellen und Senden von E-Mails. Einige der möglichen E-Mail-Treiber sindsmtp, sendmail, mailgun, und mandrill.
Parameter - Keine oder eine Reihe von Konfigurationsdetails
Returns - Gibt das Email_Driver-Objekt zurück
Zum Beispiel,
$email = \Email::forge();
$email = \Email::forge (array(
'driver' => 'smtp',
));
Körper
Purpose - Zum Einstellen des Nachrichtentexts
Parameter - $ body - Nachrichtentext
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->body('Body message');
//or pass it a View
$email->body(\View::forge('my/view', $data);
alt_body
Purpose - Zum Einstellen des alternativen Nachrichtentexts
Parameter - $ alt_body - alternativer Nachrichtentext
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->alt_body('Body message');
//or pass it a View
$email->alt_body(\View::forge('my/view', $data);
Priorität
Purpose - Um die Priorität der Mail festzulegen
Parameter - -
$priority- Wert der Priorität. Die Optionen sind -
a. \Email::P_LOWEST
* \Email::P_LOW
* \Email::P_NORMAL
* \Email::P_HIGH
* \Email::P_HIGHEST
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->priority(\Email::P_HIGHEST);
html_body
Purpose - Um den Nachrichtentext im HTML-Format festzulegen
Parameter - -
$html - Nachrichtentext in HTML;
generate_alt - ob eine alternative Nachricht generiert werden soll;
auto_attach - ob das Bild eingebettet werden soll oder nicht
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
// Do generate the alt body, but don't auto attach images.
$email->html_body(\View::forge('welcome/email', $data), true, false);
von
Purpose - Zum Einstellen der Absenderadresse
Parameters - -
$from - von der E-Mail-Adresse;
$name - Name des Absenders
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->from('[email protected]', 'My Name');
Gegenstand
Purpose - Zum Einstellen des Betreffs der Nachricht
Parameter - $ subject - Betreff der E-Mail-Nachricht
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->subject('Suject of the mail message');
zu
Purpose - Zum Einstellen der E-Mail-Adresse des Empfängers
Parameters - -
$email - E-Mail-Adresse oder Array von E-Mail-Adresse;
$name - Name des Empfängers
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->to('[email protected]', 'My Dear Name');
$email->to (array(
'[email protected]',
'[email protected]' => 'My Dear friend',
));
Header
Purpose - Zum Festlegen eines benutzerdefinierten Headers für die E-Mail-Nachricht
Parameters - -
$header - Headertyp oder Array des Headers;
$value - Wert des Headers
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email->header('X-SMTPAP', 'XXXXXXXX');
$email>reply_to (array(
'X-SMTPAP' => 'XXXXXX',
'X-SMTPAP2' > 'XXXXXA',
));
anfügen
Purpose - Um eine Datei an die E-Mail-Nachricht anzuhängen
Parameters- -
$file - Dateipfad;
$inline - ob die Datei inline angehängt werden soll oder nicht;
$cid - Inhaltskennung;
$mime - MIME-Typ der Anhangsdatei;
$name - Überschreiben des Namens der Anhangsdatei
Returns - Gibt die aktuelle Instanz zurück
Zum Beispiel,
$email = \Email::forge();
$email>attach(DOCROOT.'attachments/sample_attachment.pdf');
senden
Purpose - Um die Mail zu senden.
Parameter - -
$validate - ob die E-Mail-Adressen überprüft werden sollen
Returns - wahr oder falsch
Zum Beispiel,
$email = \Email::forge();
try{
$email->send();
} catch(\EmailSendingFailedException $e) {
// The driver could not send the mail.
} catch(\EmailValidationFailedException $e) {
// One or more email addresses failed validation.
}
Arbeits-E-Mail-Beispiel
Verwenden wir die im vorherigen Kapitel erlernte API und erstellen Sie einen einfachen Code zum Senden einer Nachricht. Das Folgende ist der einfachste Code zum Senden einer Nachricht.
$email = Email::forge();
$email->from('[email protected]', 'person1');
$email->to('[email protected]', 'person2');
$email->subject('Add something');
$email->body('contents of mail'); $email->send();