====== Wordpress HTML Mail mit wp_mail() verschicken ======
Wordpress hat eine Funktion auf basis des PHPmailer() Objektes, bzw. der Klasse. Damit machen es Plugins auch auf den SMPT zu verbinden.
Ein einfaches Beispiel für eine Mail Funktion sieht so aus:
/*
Notwenidg, dass eine HTML Mail versendet werden kann
*/
function mail_as_html(){
return "text/html";
}
/**
* Sendet eine Mail Notification an einen Subscriber
*
* @param object $post_object Post-Object
* @param object $subscriber User-Object
*
* @return bool Ob die Mail gesendet wurde oder nicht
*/
function send_mail( $new_user, $send_to = [] ){
$mail_adress = $subscriber->data->user_email;
$mail_subject = 'Ein neuer interessanter CORE-Beitrag wurde veröffentlicht';
$mail_header = wp_get_attachment_url( 10554 ); // Mail Headerbildes
$mail_msg = mail_message( $post_object->ID ); // Mail-Message
$html_mail = mail_template( $mail_msg, $mail_header ); // Mail-HTML-String
add_filter( 'wp_mail_content_type','user_registration_mail_as_html' );
$is_send = wp_mail( $mail_adress, $mail_subject, $html_mail );
remove_filter( 'wp_mail_content_type','mail_as_html' );
return $is_send;
}
**Hinweis:**
die Funktionen ''mail_message( ... )'' und ''mail_template( ... )'' geben HTML zurück. Diese nutze ich, dass die Funktionen nicht zu groß und unübersichtlich werden. Gerade ein Newsletter-Template kann sehr viele Zeilen Code enthalten.
Dies könnte so aussehen für die ''mail_message( ... )'' :
/**
* HTML Template der Message (nur innerer Block)
*
* @param int $post_id Post-ID
*
* @return string HTML-Block der Nachricht
*/
function mail_message( $post_id ){
return "
Folgender Beitrag wurde gerade veröffentlicht:
" . get_the_post_thumbnail( $post_id ) . "
" . get_the_title( $post_id ) . "
";
}