Kuidas saan PHP-s mail() abil õige saatja? smtp
Kui su veebisait saadab kirju PHP funktsiooniga mail(), lahkub kiri ilma sisselogimiseta. Tehniline saatja (Return-Path) on siis sageli su paketi süsteemikonto, mitte su enda aadress. Seetõttu ei klapi SPF ja DMARC korralikult, kiri satub sagedamini rämpsposti ja veateated jõuavad postkasti, mida keegi ei vaata.
Lase seepärast oma veebisaidil saata kirju SMTP kaudu sisselogimisega, täpselt nagu su e-postiprogramm. Siis on saatjaks su enda aadress ja kirja käsitletakse nagu tavalist kirja su domeenilt.
SMTP andmed
- Server: su domeeninimi (jouwdomein.nl), kui su veebisait asub WebOkés, või su paketi serveri nimi, näiteks linux2023.webawere.nl. Selle leiad Minu WebOkés jaotisest Minu tooted, veerust Server.
- Port: 465 koos SSL/TLS-iga või 587 koos STARTTLS-iga.
- Kasutajanimi: postkasti täielik e-posti aadress, eelistatult eraldi postkast veebisaidi jaoks, näiteks website@jouwdomein.nl.
- Parool: selle postkasti parool.
Kasuta saatjana (From) selle postkasti aadressi või forwarderit, mis sinna edasi saadab. Külastaja aadressi ära pane kunagi väljale From, vaid väljale Reply-To. Muidu keeldub server kirjast või satub kiri rämpsposti.
Näide PHPMaileriga
Laialt kasutatav teek on PHPMailer. Paigaldad selle Composeriga (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;
}
Kasutad WordPressi või WooCommerce'i? Siis lahendad selle SMTP-pluginaga, vaata Kirjade usaldusväärne saatmine WordPressist ja WooCommerce'ist SMTP kaudu. Kuidas vormi rämpsposti eest kaitsta, loe artiklist Kontaktivorm su veebisaidil: väljade saatmine e-postiga ja rämpsposti vältimine.
Tahad rohkem õppida? Osale tasuta kursusel E-post korda, õppetund 7.3 Kirjad su veebisaidilt ja vormid.
Tahad rohkem õppida? Osale tasuta WordPressi kursusel, õppetund 9.1 E-post WordPressist.
