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:<br /><br /> " . get_the_post_thumbnail( $post_id ) . "<br /> <a href=\"" . get_permalink( $post_id ) . "\"> <strong>" . get_the_title( $post_id ) . "</strong> </a><br /><br /> "; }