
🔧 Contact Form 7: konfigurera e-postleverans och åtgärda inskickningsfel
Så skickar Contact Form 7 e-post och varför den inte kommer fram
Contact Form 7 används på över 5 miljoner webbplatser, vilket gör det till det mest populära formulär-pluginet för WordPress. Att sätta upp ett formulär med tre fält tar bara några minuter, men när e-posten slutar komma fram börjar huvudvärken: webbplatsägare tappar leads, har ingen aning om vad som gick fel och hamnar i forumtrådar.
Problemet är nästan aldrig själva pluginet. CF7 lämnar över e-posten till funktionen wp_mail(), som skickar den vidare till din server. Vad som händer därifrån beror på din hosting, PHP-inställningar, aktiva plugins och ett dussin andra faktorer. Ett inaktiverat REST API eller ett felaktigt "Från"-fält, och formuläret fungerar men ingen e-post kommer fram.
Vi har sammanställt en steg-för-steg-guide för att konfigurera CF7:s e-postmall och analyserat alla vanliga orsaker till leveransproblem, med specifika lösningar testade på dussintals webbplatser.
💡 Snabb översikt:
- Fylla i fälten Till, Från och Ämne i e-postinställningarna
- Kopiera en färdig HTML-mall för e-postinnehållet
- Kontrollera de vanligaste orsakerna till att e-post inte skickas
- Konfigurera SMTP för tillförlitlig leverans
Konfigurera e-postmallen: steg för steg
Öppna ditt formulär i adminpanelen: Contact Form → välj ditt formulär → fliken "Mail". Det är här CF7 sätter ihop e-posten från tre delar: headers, ämne och innehåll. Ett fel i något fält stoppar leveransen, så låt oss gå igenom varje del.
Till, Från och Ämne
Till är din e-postadress dit inskickade formulär kommer. Till exempel [email protected] eller en Gmail-adress om du använder ett SMTP-plugin.
Från har en viktig regel: avsändarens domän måste matcha din webbplats domän. De flesta webbhotell avvisar e-post där "Från"-fältet innehåller [email protected] medan webbplatsen körs på mysite.com. Använd [email protected]; brevlådan behöver inte existera på riktigt, och det är helt okej. E-postservern kontrollerar domänen, inte om adressen är verklig.
Ämne kan innehålla CF7-makron för dynamisk data:
1 [_site_title] — Form "Contact Form"
[_site_title] infogar automatiskt ditt webbplatsnamn från WordPress-inställningarna. På så sätt ser du direkt vilket projekt inskickningen kom från.
Extra headers: låt Reply-to vara; CF7 sätter automatiskt e-postadressen från formulärfältet du anger i e-postinnehållet.
E-postinnehåll: HTML-mall
CF7:s standardmejl är ren text med fälttaggar. Det ser billigt ut och är svårt att läsa. Här är mallen vi använder i alla våra projekt, med en logotyp, korrekt layout och klickbara e-post-/telefonlänkar:
1 <img src="https://YOUR_DOMAIN.COM/wp-content/uploads/2024/logo-150x150.png" 2 style="max-width: 150px !important;"> 3 4 <h3>The user submitted the following information:</h3> 5 6 <p><b>Name:</b> [text-59]</p> 7 <p><b>E-mail:</b> <a href="mailto:[Email]">[Email]</a></p> 8 <p><b>Phone:</b> <a href="tel:[tel-116]">[tel-116]</a></p> 9 <p><b>Message:</b> [textarea-102]</p> 10 11 <p>Message sent from [_site_title] ([_site_url])</p>
Viktiga punkter: logotypen bör vara kvadratisk och kompakt (cirka 150 px per sida), annars bryts layouten i e-postklienter. Makrona inom hakparenteser ([text-59], [Email]) är dina formulärfälts-taggar; ersätt dem med dina egna namn från fliken "Form". Och se till att kryssa i rutan "Use HTML content type" under mallredigeraren, annars kommer HTML-taggarna fram som ren text.

6 Orsaker till att e-post inte skickas och hur du åtgärdar dem
1. Felaktigt "Från"-fält
Det vanligaste misstaget: "Från"-fältet innehåller kundens e-post från formuläret, [Email]. Den mottagande servern ser ett mejl från en gmail.com-domän skickat från ditt webbhotell och blockerar det som spoofing. Lösning: "Från" måste alltid vara en adress på din webbplats domän. Lägg kundens e-post i Reply-to via en extra header:
1 Reply-To: [Email]
2. Konflikter med säkerhetsplugins
Plugins som Wordfence, iThemes Security (nu Solid Security) och All-In-One Security kan blockera utgående HTTP-förfrågningar från WordPress, inklusive e-postutskick. Diagnosen är enkel: inaktivera alla plugins utom Contact Form 7 och testa formuläret. Om det fungerar, aktivera plugins ett i taget för att hitta boven.
3. REST API är inaktiverat
Contact Form 7 använder WordPress REST API för att skicka formulär via AJAX. Optimeringsplugins, som Clearfy Cache (observera: från och med oktober 2025 har projektet absorberats av Super Page Cache och utvecklas inte längre separat; nuvarande användare rekommenderas att migrera till Super Page Cache), kan inaktivera REST API för att snabba upp webbplatsen. Kontrollera ditt optimeringsplugins inställningar: reglaget för REST API ska vara "Off", vilket betyder att REST API är aktiverat och fungerar.
4. Webbhotellet blockerar funktionen mail()
På billiga webbhotell är PHP-funktionen mail() ofta inaktiverad eller begränsad. Contact Form 7 skickar e-post via den som standard. Kontakta ditt webbhotells support och fråga om mail() är tillåten på ditt abonnemang. Om inte, byt till SMTP (se avsnittet nedan); detta löser problemet helt.
5. E-posten hamnar i skräppost
Även om e-posten skickades kan Gmail eller ditt webbhotells e-posttjänst lägga den i skräppost. Orsaker kan vara: saknade SPF/DKIM-poster för domänen, en "misstänkt" Från-header, HTML utan textdel. Lösning: ett SMTP-plugin som skickar via en extern tjänst (Gmail API, Mailgun, SendGrid). De signerar varje e-post med en DKIM-signatur och använder ansedda SMTP-servrar, vilket gör leveranssäkerheten nästan 100%.
6. Känslighet för PHP- och WordPress-versioner
CF7 uppdateras aktivt (kontrollera aktuell version på wordpress.org; från mitten av 2026 är det 6.x-grenen, som körs på PHP 7.4 och högre). Om ditt webbhotell kör antik PHP 5.6, eller omvänt, du aktiverade experimentell PHP 8.4 utan att kontrollera kompatibiliteten, kan e-post tyst misslyckas. Håll dig till PHP 8.1-8.2; det är den optimala nivån.
Konfigurera SMTP: lös leveransproblemet en gång för alla
SMTP är ett protokoll som skickar e-post inte via serverns mail()-funktion, utan genom en fullfjädrad e-posttjänst. WordPress har ett dussin plugins som fångar upp wp_mail() och dirigerar e-post via en extern SMTP-server.
Vad du ska välja:
- Gmail API: gratis upp till 500 e-postmeddelanden per dag via Google Workspace eller ett personligt Gmail-konto. Fördelar: utmärkt leveranssäkerhet. Nackdelar: du måste skapa ett projekt i Google Cloud Console och hämta OAuth-nycklar.
- Brevo (tidigare Sendinblue): 300 gratis e-postmeddelanden per dag, enkel SMTP med användarnamn och lösenord. Ingen OAuth krävs.
- Mailgun: 100 gratis e-postmeddelanden per dag, hämta en API-nyckel så är du klar. För utvecklare.
Installera valfritt SMTP-plugin (WP Mail SMTP, Post SMTP, FluentSMTP; alla är gratis i WordPress arkiv), ange dina leverantörsuppgifter, så behöver du inte längre mail()-funktionen. CF7 fortsätter att fungera som vanligt, men e-posten går via en pålitlig kanal.
CSS och anpassade typsnitt i CF7-e-post
Om du inte bara skickar kontaktformulärsinskickningar utan till exempel orderbekräftelser med kortfattad produktinformation, är det vettigt att styla e-posten. CSS i e-post fungerar genom inline-stilar (style=""); e-postklienter ignorerar externa stilmallar. Här är ett exempel på en stylad mall:
1 <img src="https://YOUR_DOMAIN.COM/logo.png" 2 style="max-width: 150px !important;"> 3 4 <h2 style="font-family: Arial, sans-serif; color: #333;"> 5 The user selected a product: 6 </h2> 7 <h2 style="font-family: Arial, sans-serif;">[hidden-120]</h2> 8 9 <hr style="border: 1px solid #eee;"> 10 11 <h3 style="font-family: Arial, sans-serif; color: #555;"> 12 The user submitted the following information: 13 </h3> 14 15 <p style="font-size: 14px;"><b>Name:</b> [text-59]</p> 16 <p style="font-size: 14px;"><b>Phone:</b> <a href="tel:[tel-116]">[tel-116]</a></p> 17 <p style="font-size: 14px;"><b>Email:</b> [Email]</p> 18 19 <p style="color: #999; font-size: 12px;"> 20 Message sent from <b>[_site_title] ([_site_url])</b> 21 </p>
Samma regler gäller: logotyp kvadratisk, HTML-formatrutan ikryssad, makron ersatta med dina egna. Anpassade typsnitt från Google Fonts fungerar inte i e-post; använd systemtypsnittsstackar (Arial, Helvetica, sans-serif).
⁉️🤔 Vanliga frågor
Varför visar CF7 "Meddelandet skickat" men det kommer inget mejl?
CF7 ansvarar för att samla in data och skicka den till WordPress, inte för den slutliga leveransen. "Lyckades"-svaret betyder att AJAX-förfrågan slutfördes utan fel. Den faktiska e-postleveransen sker i bakgrunden via
wp_mail(), och om något går fel i det steget (webbhotellet blockerademail(), Från-adressen klarade inte valideringen, e-posten hamnade i skräppost), kommer CF7 inte att visa något fel. Därför bör du alltid testa formuläret genom att skicka till en riktig brevlåda efter konfigurationen.
Är ett SMTP-plugin obligatoriskt?
Inte obligatoriskt, men starkt rekommenderat. Utan SMTP skickas din e-post av PHP-funktionen
mail(), som inte autentiserar avsändaren, inte signerar DKIM och ofta blockeras av spamfilter. Ett SMTP-plugin lägger till autentisering och förbättrar leveranssäkerheten dramatiskt. I praktiken har vi sett dussintals webbplatser där formuläret "fungerade" men e-posten hamnade i skräppost eller aldrig kom fram alls. Efter att ha aktiverat SMTP via Post SMTP eller FluentSMTP försvann problemet på 5 minuter.
Vad ska jag göra om CF7 slutade fungera efter en WordPress-uppdatering?
Kontrollera först din PHP-version; CF7 kräver PHP 7.4 eller högre (verifiera i den officiella dokumentationen). Inaktivera sedan caching- och optimeringsplugins: de bryter ofta REST API när kärnan uppdateras. Om det inte hjälper, byt tillfälligt till ett standardtema för WordPress och testa formuläret. I de flesta fall är det en konflikt med ett caching- eller säkerhetsplugin som ännu inte har anpassats till den nya kärnversionen.
Hur kontrollerar jag om REST API fungerar?
Öppna
https://your-site.com/wp-json/i din webbläsare. Om du ser JSON med en lista över tillgängliga endpoints lever REST API. Om du får en 404 eller en tom sida har REST API inaktiverats av ett optimerings- eller säkerhetsplugin. Detta är den snabbaste diagnosmetoden: om endpointen returnerar JSON har CF7 allt det behöver för att fungera. Leta efter REST API-inställningar i plugins som Clearfy, Perfmatters, WP-Optimize eller i säkerhetslösningar som Wordfence.
Kan jag skicka e-post med bilagor via CF7?
Ja, CF7 stöder filuppladdningar via fältet
[file]. I e-postinställningarna, i fältet "Attachments", anger du makrot för det fältet, så bifogas filen till e-posten. De flesta webbhotell begränsar bilagestorleken viaupload_max_filesizei PHP (vanligtvis 2-8 MB). För flera uppladdningar, använd separata fält. Om e-post med bilagor inte skickas medan formuläret fungerar utan bilagor, är problemet storleksgränsen; minska filstorlekarna eller be ditt webbhotell att höja gränsen.
Vad du ska använda 2026: CF7 + SMTP eller alternativ?
Contact Form 7 är fortfarande det bästa gratispluginet för WordPress-formulär om du behöver anpassning och inte är rädd för att gräva i inställningar. Men e-postleveransproblemet är inbyggt i WordPress arkitektur: funktionen mail() är i grunden opålitlig.
Så formeln för 2026 är: Contact Form 7 + SMTP-plugin. Installera FluentSMTP (gratis, lättviktigt, ingen reklam i admin) eller Post SMTP och konfigurera sändning via Gmail API, Brevo eller Mailgun. Dessa två komponenter tillsammans ger dig: obegränsad formuläranpassning + leveranssäkerhet på företagsnivå. Kostnad: 0 kr, installationstid: 10 minuter.
Om du vill ha ett formulär som fungerar "out of the box" utan något krångel, överväg WPForms eller Ninja Forms. De är betalda, men SMTP-sändning är inbyggt som standard via deras egna servrar. Valet är ditt: CF7:s flexibilitet eller enkelheten hos kommersiella lösningar.



