Hvem fanden er den general?
Hvem fanden er den general?

Hvordan man sender email fra WordPress

WordPress har en indbygget function til at sende emails med. I sin simpleste form kan man sende en mail sådan her:

wp_mail( "til@email.dk", "Emne: Test af mail fra WP" , "Indhold: Test indhold sendt fra WP");

Html mails

Hvis man vil sende html indhold, som giver bedre mulighed for at formatere indhold skal man først fortælle dette til WP.

// set content type
add_filter( 'wp_mail_content_type', 'zebs_set_html_content_type' );
function zebs_set_html_content_type() {
return 'text/html';
}
// html mail content
$html  = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'.PHP_EOL;
$html .= '  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'.PHP_EOL;
$html .= '<HTML xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">'.PHP_EOL;
$html .= '<HEAD>'.PHP_EOL;
$html .= '</HEAD>'.PHP_EOL;
$html .= '<BODY>'.PHP_EOL;
$html .= '<b>Html indhold:</b> Test indhold sendt fra WP.
$html .= '</BODY>'.PHP_EOL;
$html .= '</HTML>';
// send mail
wp_mail( "til@email.dk", "Emne: Test af mail fra WP" , $html);
// reset filters to avoid conflicts
remove_filter( 'wp_mail_content_type', 'zebs_set_html_content_type' );

Husk at fjerne filtre som man er færdig med, for der kan være andre plugins som benytter funktionen og man kan derfor få problemer hvis man ikke gør det.

Afsender navn og adresse

Som du måske har lagt mærke til hvis du har sendt nogle test mails til dig selv, er afsender altid bestemt af WordPress. Det kan man selvfølgelig også ændre med et filter. Så hvis man både vil ændre navn og afsender adresser vil det hele se sådan ud.

// set content type
add_filter('wp_mail_content_type', 'zebs_set_html_content_type');
function zebs_set_html_content_type() {
return 'text/html';
}
// set from mail
add_filter('wp_mail_from', 'zebs_wp_mail_from');
function zebs_wp_mail_from($content_type) {
return "fra@email.dk";
}
// set from name
add_filter('wp_mail_from_name', 'zebs_wp_mail_from_name');
function zebs_wp_mail_from_name($name) {
return "Fra navn";
}
// html mail content
$html  = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'.PHP_EOL;
$html .= '  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'.PHP_EOL;
$html .= '<HTML xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">'.PHP_EOL;
$html .= '<HEAD>'.PHP_EOL;
$html .= '</HEAD>'.PHP_EOL;
$html .= '<BODY>'.PHP_EOL;
$html .= '<b>Html indhold:</b> Test indhold sendt fra WP.
$html .= '</BODY>'.PHP_EOL;
$html .= '</HTML>';
// send mail
wp_mail( "til@email.dk", "Emne: Test af mail fra WP" , $html);
// reset filters to avoid conflicts
remove_filter( 'wp_mail_content_type', 'zebs_set_html_content_type' );
remove_filter( 'wp_mail_content_type', 'zebs_wp_mail_from' );
remove_filter( 'wp_mail_content_type', 'zebs_wp_mail_from_name' );

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.