Kako u PHP-u s funkcijom mail() mogu dobiti ispravnog pošiljatelja? SMTP
Ako Vaša web stranica šalje e-poštu putem PHP funkcije mail(), poruka se šalje bez prijave. Tehnički pošiljatelj (Return-Path) tada je često sistemski račun Vašeg paketa, a ne Vaša vlastita adresa. Zbog toga SPF i DMARC ne prolaze ispravno, poruke češće završavaju u neželjenoj pošti, a obavijesti o pogreškama stižu u sandučić koji nitko ne pregledava.
Zato neka Vaša web stranica šalje e-poštu putem SMTP-a s prijavom, kao i Vaš program za e-poštu. Tada je Vaša vlastita adresa pošiljatelj, a poruka se tretira kao uobičajena e-pošta s Vaše domene.
Podaci za SMTP
- Poslužitelj: Vaš naziv domene (jouwdomein.nl) ako je Vaša web stranica smještena kod WebOké, ili naziv poslužitelja Vašeg paketa, primjerice linux2023.webawere.nl. Pronaći ćete ga u Moj WebOké pod Moji proizvodi, u stupcu Poslužitelj.
- Port: 465 sa SSL/TLS ili 587 sa STARTTLS.
- Korisničko ime: puna adresa e-pošte jednog sandučića, po mogućnosti zasebnog sandučića za web stranicu, primjerice website@jouwdomein.nl.
- Lozinka: lozinka tog sandučića.
Kao pošiljatelja (From) koristite adresu tog sandučića ili forwarder koji na nju prosljeđuje. Adresu posjetitelja nikada ne stavljajte u From, nego u Reply-To. U suprotnom poslužitelj odbija poruku ili ona završava u neželjenoj pošti.
Primjer s PHPMailerom
Često korištena biblioteka je PHPMailer. Instalirate je pomoću Composera (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;
}
Koristite li WordPress ili WooCommerce? Tada to riješite pomoću SMTP dodatka, pogledajte Pouzdano slanje e-pošte iz WordPressa i WooCommercea putem SMTP-a. Kako zaštititi obrazac od neželjene pošte pročitajte u članku Kontaktni obrazac na Vašoj web stranici: slanje polja e-poštom i sprječavanje neželjene pošte.
Želite li naučiti više? Pohađajte besplatni tečaj E-pošta pod kontrolom, lekcija 7.3 E-pošta s Vaše web stranice i obrasci.
Želite li naučiti više? Pohađajte besplatni WordPress tečaj, lekcija 9.1 E-pošta iz WordPressa.
