Skip to content

Alt om WordPress, webutvikling — og mer til

🔧 Contact Form 7: konfigurering av e-postlevering og fiksing av innsendingsfeil

🔧 Contact Form 7: konfigurering av e-postlevering og fiksing av innsendingsfeil

Hvordan Contact Form 7 sender e-poster og hvorfor de ikke kommer frem

Contact Form 7 brukes på over 5 millioner nettsteder, noe som gjør det til den mest populære pluginen for WordPress. Å sette opp et skjema med tre felt tar bare noen minutter, men når e-postene slutter å komme frem, starter problemene: nettstedseiere mister leads, aner ikke hva som gikk galt, og ender opp med å dykke ned i forumtråder.

Problemet er nesten aldri selve pluginen. CF7 overleverer e-posten til wp_mail()-funksjonen, som sender den videre til serveren din. Derfra avhenger hva som skjer av din hosting, PHP-innstillinger, aktive pluginer og et dusin andre faktorer. Et deaktivert REST API eller et feilaktig «Fra»-felt, og skjemaet fungerer, men ingen e-poster kommer gjennom.

Vi har satt sammen en steg-for-steg-guide for å konfigurere CF7s e-postmal og analysert alle de vanlige årsakene til leveringssvikt, med konkrete løsninger testet på dusinvis av nettsteder.

💡 Rask oversikt:

  • Utfylling av Til-, Fra- og Emne-feltene i e-postinnstillingene
  • Kopiering av en ferdig HTML-mal for e-postinnhold
  • Sjekk av hovedårsakene til at e-poster ikke sendes
  • Konfigurering av SMTP for pålitelig levering

Konfigurering av e-postmalen: steg for steg

Åpne skjemaet ditt i administrasjonspanelet: Contact Form → velg skjemaet ditt → «Mail»-fanen. Det er her CF7 setter sammen e-posten fra tre deler: topptekster, emne og innhold. En feil i et hvilket som helst felt ødelegger leveringen, så la oss gå gjennom hvert enkelt.

Til, Fra og Emne

Til er din fungerende e-postadresse der innsendinger havner. For eksempel [email protected] eller en Gmail-adresse hvis du bruker en SMTP-plugin.

Fra har én nøkkelregel: avsenderens domene må samsvare med nettstedets domene. De fleste servere avviser e-poster der «Fra»-feltet inneholder [email protected] mens nettstedet kjører på mysite.com. Bruk [email protected]; postboksen trenger faktisk ikke å eksistere, og det er helt greit. E-postserveren sjekker domenet, ikke om adressen er ekte.

Emne kan inkludere CF7-makroer for dynamiske data:

1[_site_title]Form "Contact Form"

[_site_title] setter automatisk inn nettstedets navn fra WordPress-innstillingene. På denne måten ser du umiddelbart hvilket prosjekt innsendingen kom fra.

Ekstra topptekster: la «Reply-to» være i fred; CF7 vil automatisk sette e-posten fra skjemafeltet du spesifiserer i e-postinnholdet.

E-postinnhold: HTML-mal

Standard CF7-e-posten er ren tekst med felt-tagger. Den ser billig ut og er vanskelig å lese. Her er malen vi bruker på alle våre prosjekter, med en logo, skikkelig layout og klikkbare e-post-/telefonlenker:

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>

Nøkkelpunkter: logoen bør være kvadratisk og kompakt (omtrent 150 px per side), ellers vil den bryte sammen i e-postklienter. Makroene i hakeparenteser ([text-59], [Email]) er dine skjemafelt-tagger; erstatt dem med dine egne navn fra «Form»-fanen. Og sørg for å krysse av for «Use HTML content type» under malredigereren, ellers vil HTML-taggene komme frem som ren tekst.

HTML-innholdstype-avkrysningsboks i CF7

6 Grunner til at e-poster ikke sendes og hvordan du fikser dem

1. Feil «Fra»-felt

Den vanligste feilen: «Fra»-feltet inneholder kundens e-post fra skjemaet, [Email]. Mottakerserveren ser en e-post fra et gmail.com-domene sendt fra din hosting og blokkerer den som spoofing. Løsning: «Fra» må alltid være en adresse på ditt nettsteds domene. Legg kundens e-post i «Reply-to» via en ekstra topptekst:

1Reply-To: [Email]

2. Konflikter med sikkerhetspluginer

Pluginer som Wordfence, iThemes Security (nå Solid Security) og All-In-One Security kan blokkere utgående WordPress HTTP-forespørsler, inkludert e-postsending. Diagnostisering er enkel: deaktiver alle pluginer unntatt Contact Form 7 og test skjemaet. Hvis det fungerer, aktiver pluginer én etter én for å finne synderen.

3. REST API er deaktivert

Contact Form 7 bruker WordPress REST API til å sende inn skjemaer via AJAX. Optimaliseringspluginer, som Clearfy Cache (merk: per oktober 2025 har prosjektet blitt absorbert av Super Page Cache og utvikles ikke lenger separat; nåværende brukere anbefales å migrere til Super Page Cache), kan deaktivere REST API for å øke hastigheten på nettstedet. Sjekk optimaliseringsverktøyets innstillinger: REST API-bryteren skal være «Off», noe som betyr at REST API er aktivert og fungerer.

4. Hostingen blokkerer mail()-funksjonen

På billig hosting er PHP mail()-funksjonen ofte deaktivert eller begrenset. Contact Form 7 sender e-poster gjennom den som standard. Kontakt vertens support og spør om mail() er tillatt på din plan. Hvis ikke, bytt til SMTP (se avsnittet nedenfor); dette løser problemet fullstendig.

5. E-poster havner i spam

Selv om e-posten ble sendt, kan Gmail eller vertens e-posttjeneste legge den i spam. Årsaker inkluderer: manglende SPF/DKIM-poster for domenet, en «mistenkelig» Fra-topptekst, HTML uten en tekstdel. Løsning: en SMTP-plugin som sender gjennom en ekstern tjeneste (Gmail API, Mailgun, SendGrid). De signerer hver e-post med en DKIM-signatur og bruker anerkjente SMTP-servere, noe som gjør leveringsevnen nesten 100%.

6. Følsomhet for PHP- og WordPress-versjoner

CF7 oppdateres aktivt (sjekk gjeldende versjon på wordpress.org; per midten av 2026 er det 6.x-grenen, som kjører på PHP 7.4 og nyere). Hvis din hosting kjører gammel PHP 5.6, eller omvendt, du aktiverte eksperimentell PHP 8.4 uten å sjekke kompatibilitet, kan e-poster feile uten varsel. Hold deg til PHP 8.1-8.2; dette er det optimale området.

Konfigurering av SMTP: løs leveringsproblemet én gang for alle

SMTP er en protokoll som overfører e-post ikke gjennom serverens mail()-funksjon, men gjennom en fullverdig e-posttjeneste. WordPress har et dusin pluginer som fanger opp wp_mail() og ruter e-poster gjennom en ekstern SMTP-server.

Hva du bør velge:

  • Gmail API: gratis opptil 500 e-poster per dag via Google Workspace eller en personlig Gmail-konto. Fordeler: utmerket leveringsevne. Ulemper: du må opprette et prosjekt i Google Cloud Console og skaffe OAuth-nøkler.
  • Brevo (tidligere Sendinblue): 300 gratis e-poster per dag, enkel SMTP med brukernavn og passord. Krever ikke OAuth.
  • Mailgun: 100 gratis e-poster per dag, skaff en API-nøkkel, så er du ferdig. For utviklere.

Installer en hvilken som helst SMTP-plugin (WP Mail SMTP, Post SMTP, FluentSMTP; alle er gratis i WordPress-repositoriet), skriv inn leverandørens påloggingsinformasjon, så trenger du ikke lenger mail()-funksjonen. CF7 fortsetter å fungere som vanlig, men e-poster går gjennom en pålitelig kanal.

CSS og egendefinerte fonter i CF7-e-poster

Hvis du sender ikke bare kontaktskjema-innsendinger, men for eksempel ordrebekreftelser med korte produktdetaljer, er det fornuftig å style e-posten. CSS i e-post fungerer gjennom innebygde stiler (style=""); e-postklienter ignorerer eksterne stilark. Her er et eksempel på en stylet mal:

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>

Samme regler gjelder: logo kvadratisk, HTML-format avkrysset, makroer erstattet med dine egne. Egendefinerte fonter fra Google Fonts fungerer ikke i e-post; bruk systemfont-stakker (Arial, Helvetica, sans-serif).

⁉️🤔 Ofte stilte spørsmål

Hvorfor viser CF7 «Melding sendt», men det er ingen e-post?

CF7 er ansvarlig for å samle inn data og sende dem til WordPress, ikke for endelig levering. «Suksess»-responsen betyr at AJAX-forespørselen ble fullført uten feil. Selve e-postsendingen skjer i bakgrunnen via wp_mail(), og hvis noe går galt på det trinnet (hosting blokkerte mail(), Fra-adressen feilet validering, e-posten gikk til spam), vil ikke CF7 vise en feil. Derfor bør du alltid teste skjemaet ved å sende til en ekte postboks etter konfigurasjon.

Er en SMTP-plugin obligatorisk?

Ikke obligatorisk, men sterkt anbefalt. Uten SMTP sendes e-postene dine av PHP mail()-funksjonen, som ikke autentiserer avsenderen, ikke signerer DKIM, og ofte blokkeres av spamfiltre. En SMTP-plugin legger til autentisering og forbedrer leveringsevnen dramatisk. I praksis har vi sett dusinvis av nettsteder der skjemaet «fungerte», men e-poster gikk til spam eller aldri kom frem i det hele tatt. Etter å ha aktivert SMTP via Post SMTP eller FluentSMTP forsvant problemet på 5 minutter.

Hva bør jeg gjøre hvis CF7 sluttet å fungere etter en WordPress-oppdatering?

Først, sjekk PHP-versjonen din; CF7 krever PHP 7.4 eller høyere (bekreft i den offisielle dokumentasjonen). Deaktiver deretter caching- og optimaliseringspluginer: de ødelegger ofte REST API når kjernen oppdateres. Hvis det ikke hjelper, bytt midlertidig til et standard WordPress-tema og test skjemaet. I de fleste tilfeller er det en konflikt med en caching- eller sikkerhetsplugin som ennå ikke har tilpasset seg den nye kjerneversjonen.

Hvordan sjekker jeg om REST API fungerer?

Åpne https://your-site.com/wp-json/ i nettleseren din. Hvis du ser JSON med en liste over tilgjengelige endepunkter, er REST API i live. Hvis du får en 404 eller en blank side, har REST API blitt deaktivert av en optimaliserings- eller sikkerhetsplugin. Dette er den raskeste diagnostiske metoden: hvis endepunktet returnerer JSON, har CF7 alt det trenger for å fungere. Se etter REST API-innstillinger i pluginer som Clearfy, Perfmatters, WP-Optimize, eller i sikkerhetsløsninger som Wordfence.

Kan jeg sende e-poster med vedlegg gjennom CF7?

Ja, CF7 støtter filopplastinger via [file]-feltet. I e-postinnstillingene, i «Attachments»-feltet, skriv inn makroen for det feltet, så blir filen vedlagt e-posten. De fleste servere begrenser vedleggsstørrelsen via upload_max_filesize i PHP (vanligvis 2-8 MB). For flere opplastinger, bruk separate felt. Hvis e-poster med vedlegg ikke sendes mens skjemaet fungerer uten vedlegg, er problemet størrelsesgrensen; reduser filstørrelsene eller be verten din om å øke grensen.

Hva du bør bruke i 2026: CF7 + SMTP eller alternativer?

Contact Form 7 forblir den beste gratispluginen for WordPress-skjemaer hvis du trenger tilpasning og ikke er redd for å dykke ned i innstillinger. Men e-postleveringsproblemet er bakt inn i selve WordPress-arkitekturen: mail()-funksjonen er iboende upålitelig.

Så 2026-formelen er: Contact Form 7 + SMTP-plugin. Installer FluentSMTP (gratis, lett, ingen annonser i admin) eller Post SMTP og konfigurer sending gjennom Gmail API, Brevo eller Mailgun. Disse to komponentene sammen gir deg: ubegrenset skjematippasning + leveringsevne på bedriftsnivå. Kostnad: 0 kr, oppsettstid: 10 minutter.

Hvis du vil ha et skjema som fungerer «rett ut av esken» uten noe stress, vurder WPForms eller Ninja Forms. De er betalte, men SMTP-sending er innebygd som standard gjennom deres egne servere. Valget er ditt: CF7s fleksibilitet eller enkelheten til kommersielle løsninger.

🔗 Contact Form 7 på WordPress.org | 🔗 CF7-dokumentasjon