Vi upplever för tillfället längre svarstider än vanligt på grund av en ovanligt hög arbetsbelastning.
Vårt team arbetar med full intensitet för att effektivt hantera denna situation och minska väntetiderna.
Vi ber om er förståelse och tålamod under denna period och strävar efter att återgå till normala svarstider så snabbt som möjligt.

Problem att skicka mail i WordPress

Problem när WordPress körs i default vhost i Nginx: "Kunde inte skicka mail. Möjlig orsak: ditt webbhotell/din server har inaktiverat funktionen mail()."

WordPress wp_mail har en funktion som gör att den försökte räkna ut vad det ska vara för avsändare på e-post som skickas från WordPress.

if ( !isset( $from_email ) ) {
// Get the site domain and get rid of www.
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
if ( substr( $sitename, 0, 4 ) == 'www.' ) {
$sitename = substr( $sitename, 4 );
}
$from_email = 'wordpress@' . $sitename;
}

Om man kör WordPress-siten i default vhost i Nginx, vilket man ofta vill göra om man bara har en multisite på servern och vill slippa ange alla domäner som ska mappas mot vhosten kör man följande konfiguration i Nginx:

server {
listen 80 default;
listen [::]:80 default;
server_name "";
root /mnt/persist/www/docroot;
...

Nginx behöver inte något server_name eftersom det är default vhost. Tyvärr blir då $_SERVER[”SERVER_NAME”] tom, vilket gör att e-postadressen som WordPress kommer fram till blir ”wordpress@”, vilket inte är en giltig address och då blir det exception i PHP-mailer.

Lösningen är att sätta ett server_name i Nginx som du vill ha som avsändardomän.

Glöm inte att lägga till serverns IP-adresser (både IPv4 och IPv6) i din SPF-record. Kör du Cloudnet Managed Hosting så får du självklart hjälp med det!