1. Home
  2. Tehniline
  3. PHP
  4. Kirjade saatmine veebiserverist
  1. Home
  2. Wordpress
  3. Kirjade saatmine veebiserverist
  1. Home
  2. Tehniline
  3. Kirjade saatmine veebiserverist

Kirjade saatmine veebiserverist

Üldine

Virtuaalserveris majutatud veebilehelt kirjade saatmiseks SMTP serveri kaudu peab arvestama, et pordid 25, 1025, 1026, 465 ja 587 on suletud. Seega ei saa kirjade saatmiseks kasutada smtp.zone.ee serverit ega ühtegi teist SMTP serverit, mis kasutab neid porte.

Kirjade saatmiseks tuleb märkida SMTP Hosti nimeks localhost ja pordiks 25. Autentimist ja turvalist ühendust (SSL/TLS) kasutama ei pea, need seadistused tuleb panna false või none.

PHP

Näide PHP skripti SMTP seadistustest:

$mail->Mailer = "smtp"; 
$mail->Host = "localhost"; 
$mail->Port = "25"; 
$mail->SMTPSecure = false; 
$mail->SMTPAutoTLS = false;
$mail->SMTPAuth = false;
Kasulik nõuanne!

Paljud välised meiliteenuse pakkujad nagu Sendgrid ja Mailgun toetavad kirjade saatmiseks ka port 2525 kasutamist. See port ei ole suletud ja seda saab kasutada.

Laravel

Laraveli .env faili seadistus näeb välja järgmine:

MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="info@sinudomeen.ee"
MAIL_FROM_NAME="Saatja nimi"

./config/mail.php faili seadistus näeb välja järgmine:

'mailers' => [
    'smtp' => [
    'transport' => 'smtp',
    'url' => env('MAIL_URL'),
    'host' => env('MAIL_HOST', '127.0.0.1'),
    'port' => env('MAIL_PORT', 2525),
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'timeout' => null,
    'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url(env('APP_URL', 'http://localhost'), PHP_URL_HOST)),
    'verify_peer' => false,
    ],
    ...
]

WordPress – WP Mail SMTP plugin

WP Mail SMTP plugina seadistus localhost ning port 25 kaudu kirjade saatmiseks:

E-posti koguse piirang

Läbi meie veebiserveri on lubatud saata üks kiri iga 5 sekundi tagant. Piirangu ületamisel kirjade saatmine blokeeritakse automaatselt. Piirangu eemaldamiseks tuleb võtta ühendust klienditoega aadressil info@zone.ee.

Lisainfo

Küberrünnete ennetamiseks või neutraliseerimiseks rakendatavate e-posti piirangute kohta leiad infot siit

SPF

Kirjade saatmisel veebiserverist veendu kindlasti, et ka sinu domeeni SPF kirje seda lubab. Vastasel juhul sattuvad virtuaalserverist saadetud kirjad rämpsposti või ei jõua üldse kohale.

Kui kasutad oma domeeniga ainult Zone e-posti teenuseid peaks sinu SPF kirje nägema välja selline:

v=spf1 a mx include:_spf.zone.eu -all

Juhul, kui kasutad e-posti teenust mujal, kuid veebileht on majutatud Zones, tuleks SPF kirjet täiendada. Piisab kui lisad olemasolevale SPF kirjele juurde include:_spf.zone.eu. Näiteks nii:

v=spf1 ip4:123.4.5.6 include:_spf.zone.eu -all
Kasulik nõuanne!

SPF kirje lisamise ja haldamise juhendi leiad siit.

DKIM

Veebilehelt väljaminevate kirjade autentsuse tõstmiseks on võimalik kasutada DKIM allkirjastamist. DKIM annab krüptograafilise kinnituse e-kirja päritolu kohta, mille abil saab vastuvõttev osapool veenduda, et kiri tuleb õigest kohast ja keegi ei proovi seda võltsida.

DKIM aktiveerimine on võimalik veebimajutuse halduse jaotisest E-post. Täpsema juhendi leiad siit.

Kasulik nõuanne!

SPF ja DKIM ja muude kirja elementide testimise juhendi leiad siit.

PHP sendmail_from muutmine

Vaikimisi saadetakse kirju veebiserverist välja noreply-aadressilt (näiteks noreply@domeeninimi.ee). Seda on võimalik muuta PHP mail() funktsiooni viienda parameetriga -f.

Vaikimisi kasutatava noreply-aadressi muutmise saab teha veebimajutuse halduse jaotises  Veebiserver -> Peadomeeni seaded -> muuda -> PHP sätted.

Avanevas aknas tuleb muuta sendmail_from väärtust. Sinna tuleb sisestada ainult e-posti aadress kujul aadress@domeeninimi.ee.

Veebiserverist saadetud kirjade logi

Veebiserverist väljuvate kirjade logi saab näha Minu Zone keskkonnas veebimajutuse jaotises Logid -> Veebiserveri e-post

Veebiserverist väljuvate kirjade logi lugemise juhendi leiab siit.

Välise SMTP serveri kasutamine

Tähelepanu!

Toodud juhend on vaid näiteks ja välise SMTP serveri seadistamiseks Zone kasutajatuge ei paku.

Välise SMTP serveri kasutamise eeldused:

  • Virtuaalserveri Pro pakett
  • Eraldiseisev IP-aadress (tuleb kaasa virtuaalserveri Pro paketiga)
  • SMTP server, mis toetab TLS/SSL ühendust üle port 587

Veebiserverist kirja välja saatmiseks välise serveri vahendusel peab rakendus saatma kirja serverile eraldatud IP-aadressi peale. Tüüpilised WordPressi ja teiste rakenduste pistikprogrammid seda kasutajaliideses teha ei võimalda, seega peab tegema seadistuse otse faili põhiselt.

Kindlasti peab arvestama, et virtuaalserveri halduses olev logi veebiserverist väljuvate kirjade kohta ei kuva välise serveri vahendusel saadetavaid kirju.

Näide 1: WP Mail SMTP by WPForms

Õige IP-aadressi pealt kirjade välja saatmiseks tuleb functions.php faili lisada järgmine filter:

add_filter('wp_mail_smtp_custom_options',function($phpmailer){
  $phpmailer->SMTPOptions=[
    'socket'=>[
      'bindto' => '1.2.3.4:0'
    ]
  ];
  return $phpmailer;
});

Kus 'bindto' => '1.2.3.4:0' real asendad '1.2.3.4:0' oma serverile eraldatud IP-aadressiga.
NB! IP aadressi järel on :0.

Näide plugina konfiguratsioonist:

Näide 2: Nodemailer

Nodemaileris saab eraldi IP-aadressi määrata localAddress väärtusega. Gmaili SMTP näitel:

nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
        user: 'username@gmail.com',
        pass: 'password'
    },
    localAddress: '1.2.3.4'
});

Kus localAddress: '1.2.3.4' real asendad '1.2.3.4' oma serverile eraldatud IP-aadressiga.

Näide 3: Laravel

Laraveli .env faili seadistus näeb välja järgmine:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="username@gmail.com"
MAIL_FROM_NAME="Saatja nimi"

./config/mail.php faili seadistus näeb välja järgmine:

'mailers' => [
    'smtp' => [
    'transport' => 'smtp',
    'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    'port' => env('MAIL_PORT', 587),
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'timeout' => null,
    'local_domain' => env('MAIL_EHLO_DOMAIN'),
    'source_ip' => '1.2.3.4',
    ],
    ...
],

Real 'source_ip' => '1.2.3.4', tuleb asendada  1.2.3.4 oma serverile eraldatud IP-aadressiga.

Updated on 14. nov. 2024
Was this article helpful?

Related Articles