Kā es varu PHP, izmantojot mail(), iestatīt pareizo sūtītāju? SMTP
Ja Jūsu vietne sūta e-pastu ar PHP funkciju mail(), e-pasts tiek nosūtīts bez pieteikšanās. Tehniskais sūtītājs (Return-Path) tad bieži ir Jūsu pakalpojuma plāna sistēmas konts, nevis Jūsu adrese. Tāpēc SPF un DMARC nedarbojas pareizi, e-pasts biežāk nonāk surogātpastā, un kļūdu paziņojumi nonāk pastkastē, kurā neviens neskatās.
Tāpēc ļaujiet savai vietnei sūtīt e-pastu, izmantojot SMTP ar pieteikšanos, tāpat kā to dara Jūsu e-pasta programma. Tad sūtītājs ir Jūsu adrese, un e-pasts tiek apstrādāts kā parasts e-pasts no Jūsu domēna.
SMTP dati
- Serveris: Jūsu domēna vārds (jouwdomein.nl), ja Jūsu vietne atrodas pie WebOké, vai Jūsu pakalpojuma plāna servera nosaukums, piemēram, linux2023.webawere.nl. To varat atrast sadaļā Mans WebOké pie Mani produkti, kolonnā Serveris.
- Ports: 465 ar SSL/TLS vai 587 ar STARTTLS.
- Lietotājvārds: pastkastes pilna e-pasta adrese, vēlams atsevišķa pastkaste vietnei, piemēram, website@jouwdomein.nl.
- Parole: šīs pastkastes parole.
Kā sūtītāju (From) izmantojiet šīs pastkastes adresi vai pāradresāciju (forwarder), kas pārsūta uz to. Apmeklētāja adresi nekad nenorādiet laukā From, bet gan laukā Reply-To. Pretējā gadījumā serveris e-pastu noraidīs vai tas nonāks surogātpastā.
Piemērs ar PHPMailer
Bieži izmantota bibliotēka ir PHPMailer. To varat instalēt ar Composer (composer require phpmailer/phpmailer).
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// SMTP-instellingen
$mail->isSMTP();
$mail->Host = 'jouwdomein.nl';
$mail->Port = 465;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->SMTPAuth = true;
$mail->Username = 'website@jouwdomein.nl';
$mail->Password = 'wachtwoord';
$mail->CharSet = 'UTF-8';
// Afzender, antwoordadres en ontvanger
$mail->setFrom('website@jouwdomein.nl', 'Website jouwdomein.nl');
$mail->addReplyTo('bezoeker@example.net');
$mail->addAddress('info@jouwdomein.nl');
// Bericht
$mail->Subject = 'Testbericht';
$mail->Body = 'Dit is een testmail verzonden via SMTP.';
$mail->send();
echo 'E-mail verzonden';
} catch (Exception $e) {
echo 'Versturen mislukt: ' . $mail->ErrorInfo;
}
Vai izmantojat WordPress vai WooCommerce? Tad to varat nokārtot ar SMTP spraudni, skatiet Uzticama e-pasta sūtīšana no WordPress un WooCommerce, izmantojot SMTP. Kā aizsargāt veidlapu pret surogātpastu, lasiet rakstā Kontaktforma Jūsu vietnē: lauku nosūtīšana pa e-pastu un surogātpasta novēršana.
Vēlaties uzzināt vairāk? Apgūstiet bezmaksas kursu „E-pasts kārtībā”, nodarbība 7.3 E-pasts no vietnes un veidlapām.
Vēlaties uzzināt vairāk? Apgūstiet bezmaksas WordPress kursu, nodarbība 9.1 E-pasts no WordPress.
