Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔧 Contact form 7: e-posti kohaletoimetamise seadistamine ja saatmisvigade parandamine

🔧 Contact form 7: e-posti kohaletoimetamise seadistamine ja saatmisvigade parandamine

Kuidas Contact Form 7 e-kirju saadab ja miks need kohale ei jõua

Contact Form 7 on kasutusel enam kui 5 miljonil veebisaidil, mis teeb sellest kõige populaarsema vormi plugin WordPressile. Kolme väljaga vormi seadistamine võtab vaid mõne minuti, kuid kui e-kirjad enam kohale ei jõua, algavad peavalud: saidiomanikud kaotavad päringuid, neil pole aimugi, mis valesti läks, ja nad takerduvad foorumilõimedesse.

Probleem pole peaaegu kunagi pluginas endas. CF7 annab e-kirja üle funktsioonile wp_mail(), mis edastab selle teie serverile. Sealt edasi sõltub kõik teie hostingu, PHP seadete, aktiivsete pluginade ja kümnete muude tegurite koosmõjust. Üks keelatud REST API või vale „From" väli ja vorm töötab, kuid ühtegi e-kirja ei tule.

Oleme koostanud samm-sammulise juhendi CF7 e-kirja malli seadistamiseks ja analüüsinud kõiki levinumaid kohaletoimetamise tõrgete põhjuseid koos konkreetsete lahendustega, mida on testitud kümnetel saitidel.

💡 Kiirülevaade:

  • Väljade To, From ja Subject täitmine e-kirja seadetes
  • Valmis HTML-kujul e-kirja sisumalli kopeerimine
  • Peamiste põhjuste kontrollimine, miks e-kirju ei saadeta
  • SMTP seadistamine usaldusväärseks kohaletoimetamiseks

E-kirja malli seadistamine: samm-sammult

Avage oma vorm halduspaneelis: Contact Form → valige oma vorm → vahekaart „Mail". Siin paneb CF7 e-kirja kokku kolmest osast: päised, teema ja sisu. Viga ükskõik millises väljas katkestab kohaletoimetamise, seega käime kõik läbi.

To, From ja Subject

To on teie töötav e-posti aadress, kuhu päringud saabuvad. Näiteks [email protected] või Gmaili aadress, kui kasutate SMTP pluginat.

From puhul kehtib üks põhireegel: saatja domeen peab ühtima teie saidi domeeniga. Enamik hoste lükkab tagasi e-kirjad, kus väljal „From" on [email protected], samal ajal kui sait töötab domeenil mysite.com. Kasutage [email protected]; postkast ei pea tegelikult olemas olema ja see on okei. Meiliserver kontrollib domeeni, mitte seda, kas aadress on päris.

Subject võib sisaldada CF7 makrosid dünaamiliste andmete jaoks:

1[_site_title]Form "Contact Form"

[_site_title] lisab automaatselt teie saidi nime WordPressi seadetest. Nii näete kohe, millisest projektist päring tuli.

Lisapäised: jätke Reply-to puutumata; CF7 määrab automaatselt e-kirja aadressi vormiväljalt, mille te e-kirja sisus määrate.

E-kirja sisu: HTML-mall

CF7 vaikimisi e-kiri on lihttekst koos väljasiltidega. See näeb odav välja ja on raskesti loetav. Siin on mall, mida me kasutame kõigis oma projektides, koos logoga, korraliku paigutuse ja klikitavate e-posti/telefoni linkidega:

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>

Olulised punktid: logo peaks olema ruudukujuline ja kompaktne (umbes 150 px küljepikkus), vastasel juhul laguneb see meiliklientides. Makrod nurksulgudes ([text-59], [Email]) on teie vormiväljade sildid; asendage need oma nimedega vahekaardilt „Form". Ja kontrollige kindlasti malli redaktori all olevat märkeruutu „Use HTML content type", vastasel juhul jõuavad HTML-sildid kohale lihttekstina.

HTML-sisutüübi märkeruut CF7-s

6 Põhjust, miks e-kirju ei saadeta ja kuidas neid parandada

1. Vale „From" väli

Kõige levinum viga: väli „From" sisaldab kliendi e-posti aadressi vormilt, [Email]. Vastuvõttev server näeb e-kirja domeenilt gmail.com, mis on saadetud teie hostingust, ja blokeerib selle kui võltsingu. Lahendus: „From" peab alati olema aadress teie saidi domeenil. Pange kliendi e-post Reply-to väljale lisapäise kaudu:

1Reply-To: [Email]

2. Turvapluginatega konfliktid

Pluginad nagu Wordfence, iThemes Security (nüüd Solid Security) ja All-In-One Security võivad blokeerida WordPressi väljaminevaid HTTP-päringuid, sealhulgas e-kirjade saatmist. Diagnoos on lihtne: keelake kõik pluginad peale Contact Form 7 ja testige vormi. Kui see töötab, lubage pluginad ükshaaval, et süüdlane leida.

3. REST API on keelatud

Contact Form 7 kasutab WordPressi REST API-t, et saata vorme AJAX-i kaudu. Optimeerimispluginad, nagu Clearfy Cache (märkus: alates 2025. aasta oktoobrist on projekt Super Page Cache'i poolt üle võetud ja seda enam eraldi ei arendata; praegustel kasutajatel soovitatakse üle minna Super Page Cache'ile), võivad REST API keelata, et saiti kiirendada. Kontrollige oma optimeerija seadeid: REST API lüliti peaks olema „Off", mis tähendab, et REST API on lubatud ja töötab.

4. Hosting blokeerib funktsiooni mail()

Odavatel hostingutel on PHP mail() funktsioon sageli keelatud või piiratud. Contact Form 7 saadab e-kirju vaikimisi selle kaudu. Võtke ühendust oma hosti toega ja küsige, kas mail() on teie paketis lubatud. Kui ei, siis minge üle SMTP-le (vt allpool olevat jaotist); see lahendab probleemi täielikult.

5. E-kirjad maanduvad rämpspostis

Isegi kui e-kiri saadeti, võib Gmail või teie hosti meiliteenus selle rämpsposti panna. Põhjused on: domeenil puuduvad SPF/DKIM kirjed, „kahtlane" From päis, HTML ilma tekstiosata. Lahendus: SMTP plugin, mis saadab läbi välise teenuse (Gmail API, Mailgun, SendGrid). Need allkirjastavad iga e-kirja DKIM allkirjaga ja kasutavad mainekaid SMTP servereid, muutes kohaletoimetamise peaaegu 100% kindlaks.

6. PHP ja WordPressi versioonitundlikkus

CF7 uuendatakse aktiivselt (kontrollige praegust versiooni saidil wordpress.org; 2026. aasta keskpaiga seisuga on see 6.x haru, mis töötab PHP 7.4 ja uuematel versioonidel). Kui teie hosting kasutab iidset PHP 5.6 või vastupidi, lubasite eksperimentaalse PHP 8.4 ilma ühilduvust kontrollimata, võivad e-kirjad hääletult ebaõnnestuda. Pidage kinni PHP 8.1-8.2 versioonidest; see on kõige kindlam valik.

SMTP seadistamine: kohaletoimetamise probleemi lõplik lahendamine

SMTP on protokoll, mis edastab e-kirju mitte teie serveri mail() funktsiooni, vaid täisväärtusliku meiliteenuse kaudu. WordPressil on kümmekond pluginat, mis püüavad kinni wp_mail() ja suunavad e-kirjad läbi välise SMTP serveri.

Mida valida:

  • Gmail API: tasuta kuni 500 e-kirja päevas Google Workspace'i või isikliku Gmaili konto kaudu. Plussid: suurepärane kohaletoimetamine. Miinused: peate looma projekti Google Cloud Console'is ja hankima OAuth võtmed.
  • Brevo (endine Sendinblue): 300 tasuta e-kirja päevas, lihtne SMTP kasutajanime ja parooliga. OAuth pole vajalik.
  • Mailgun: 100 tasuta e-kirja päevas, hankige API võti ja ongi valmis. Mõeldud arendajatele.

Installige ükskõik milline SMTP plugin (WP Mail SMTP, Post SMTP, FluentSMTP; kõik on WordPressi repositooriumis tasuta), sisestage oma teenusepakkuja volitused ja te ei vaja enam funktsiooni mail(). CF7 jätkab tavapärast tööd, kuid e-kirjad liiguvad usaldusväärse kanali kaudu.

CSS ja kohandatud fondid CF7 e-kirjades

Kui saadate mitte ainult kontaktpäringuid, vaid näiteks tellimuse kinnitusi koos lühikeste tooteandmetega, on mõttekas e-kirja kujundada. CSS e-kirjas töötab läbi inline-stiilide (style=""); meilikliendid ignoreerivad väliseid stiilifaile. Siin on näide kujundatud mallist:

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>

Samad reeglid kehtivad: logo ruudukujuline, HTML-vormingu märkeruut lubatud, makrod asendatud enda omadega. Google Fonts'i kohandatud fondid e-kirjas ei tööta; kasutage süsteemseid fondikomplekte (Arial, Helvetica, sans-serif).

⁉️🤔 Korduma kippuvad küsimused

Miks CF7 näitab „Message sent", aga e-kirja pole?

CF7 vastutab andmete kogumise ja WordPressile edastamise eest, mitte lõpliku kohaletoimetamise eest. „Edu" vastus tähendab, et AJAX-päring lõppes vigadeta. Tegelik e-kirja saatmine toimub taustal wp_mail() kaudu ja kui selles etapis läheb midagi valesti (hosting blokeeris mail(), From aadress ei läbinud valideerimist, e-kiri läks rämpsposti), ei näita CF7 viga. Seetõttu peaksite pärast seadistamist alati vormi testima, saates e-kirja päris postkasti.

Kas SMTP plugin on kohustuslik?

Pole kohustuslik, kuid tungivalt soovitatav. Ilma SMTP-ta saadab teie e-kirju PHP mail() funktsioon, mis ei autendi saatjat, ei allkirjasta DKIM-iga ja on sageli rämpspostifiltri poolt blokeeritud. SMTP plugin lisab autentimise ja parandab oluliselt kohaletoimetamist. Praktikas oleme näinud kümneid saite, kus vorm „töötas", kuid e-kirjad läksid rämpsposti või ei jõudnud üldse kohale. Pärast SMTP lubamist Post SMTP või FluentSMTP kaudu kadus probleem 5 minutiga.

Mida teha, kui CF7 lakkas pärast WordPressi uuendust töötamast?

Esmalt kontrollige oma PHP versiooni; CF7 nõuab PHP 7.4 või uuemat (kontrollige ametlikust dokumentatsioonist). Seejärel keelake vahemälu ja optimeerimise pluginad: need lõhuvad sageli REST API, kui tuum uueneb. Kui see ei aita, lülituge ajutiselt WordPressi vaiketeemale ja testige vormi. Enamikul juhtudel on tegemist konfliktiga vahemälu- või turvapluginaga, mis pole veel uue tuumaversiooniga kohanenud.

Kuidas kontrollida, kas REST API töötab?

Avage brauseris https://your-site.com/wp-json/. Kui näete JSON-i koos saadaolevate lõpp-punktide loendiga, on REST API elus. Kui saate 404 vea või tühja lehe, on REST API optimeerimis- või turvaplugina poolt keelatud. See on kiireim diagnostikameetod: kui lõpp-punkt tagastab JSON-i, on CF7-l kõik tööks vajalik olemas. Otsige REST API seadeid sellistest pluginatest nagu Clearfy, Perfmatters, WP-Optimize või turbelahendustest nagu Wordfence.

Kas ma saan CF7 kaudu saata manustega e-kirju?

Jah, CF7 toetab failide üleslaadimist välja [file] kaudu. E-kirja seadetes, väljal „Attachments", sisestage selle välja makro ja fail lisatakse e-kirjale. Enamik hoste piirab manuse suurust PHP upload_max_filesize kaudu (tavaliselt 2-8 MB). Mitme faili üleslaadimiseks kasutage eraldi välju. Kui manustega e-kirju ei saadeta, samal ajal kui vorm ilma manusteta töötab, on probleem suurusepiirangus; vähendage failimahtu või paluge hostil limiiti suurendada.

Mida kasutada 2026. aastal: CF7 + SMTP või alternatiivid?

Contact Form 7 jääb parimaks tasuta pluginaks WordPressi vormide jaoks, kui vajate kohandatavust ega karda seadetesse süveneda. Kuid e-kirjade kohaletoimetamise probleem on WordPressi arhitektuuri sisse ehitatud: funktsioon mail() on olemuslikult ebausaldusväärne.

Seega on 2026. aasta valem: Contact Form 7 + SMTP plugin. Installige FluentSMTP (tasuta, kerge, ilma reklaamideta halduses) või Post SMTP ja seadistage saatmine läbi Gmail API, Brevo või Mailguni. Need kaks komponenti koos annavad teile: piiramatu vormi kohandamise + ettevõtte tasemel kohaletoimetamise. Maksumus: 0 $, seadistamise aeg: 10 minutit.

Kui soovite vormi, mis töötab „karbist välja" ilma igasuguse vaevata, kaaluge WPFormsi või Ninja Formsi. Need on tasulised, kuid SMTP saatmine on vaikimisi sisse ehitatud nende enda serverite kaudu. Valik on teie: CF7 paindlikkus või kommertslahenduste lihtsus.

🔗 Contact Form 7 WordPress.org-is | 🔗 CF7 dokumentatsioon