Jak nainstalovat a nastavit Sendmail na Ubuntu
Jak nainstalovat a nakonfigurovat Sendmail na Ubuntu pro odesílání e-mailů pomocí e-mailového serveru, který směruje nebo přenáší doručování pošty.
Sendmail je opensource Mail Transfer Agent (MTA), který se používá k směrování e-mailů pomocí serveru nebo pomocí příkazů shellu. SMTP můžete také nakonfigurovat pomocí Sendmailu.
v této příručce se dozvíte, jak nainstalovat a nastavit Sendmail na Ubuntu. Také budete nastavení SMTP a nakonfigurovat jej s PHP.
nejlepší Hosting pro vaše podnikání
platforma | recenze | ceny |
---|---|---|
Cloudways | ★★★★★ | $10 |
Kinsta-Google Cloud | ★★★★★ | $30 |
Aktualizujte balíčky serveru
SSH uvnitř serveru a Aktualizujte balíčky na nejnovější verzi.
sudo apt updatesudo apt upgrade
nainstalujte Sendmail
Sendmail je k dispozici v úložišti ubuntu, takže můžete přímo nainstalovat pomocí příkazu apt install
.
sudo apt install sendmail
nakonfigurujte název hostitele
upravte soubor /etc/hosts
a přidejte název hostitele.
sudo nano /etc/hosts
na řádku začínajícím 127.0.0.1
přidejte hostname
na konec, jak vypadá níže. To by mělo být na jednom řádku.
127.0.0.1 localhost hostname
Configure SMTP
Create new directory inside /etc/mail
for SMTP configurations.
sudo mkdir /etc/mail/authinfo
nastavení správných oprávnění.
sudo chmod -R 700 /etc/mail/authinfo
vytvořte nový soubor pro ověření SMTP uvnitř nově vytvořeného adresáře.
cd /etc/mail/authinfosudo nano smtp-auth
vložte následující řádek a nahraďte e-mailovou adresu svým přihlašovacím e-mailem a heslem svým heslem.
AuthInfo: "U:root" "I:email-address" "P:password"
stiskněte CRTL + X
následované Y
a ENTER
pro uložení a ukončení souboru.
vytvořte mapu databáze hash pro výše vytvořené ověření.
sudo makemap hash smtp-auth < smtp-auth
konfigurace SMTP
přejděte do konfiguračního adresáře sendmail a upravte soubor sendmail.mc
.
cd /etc/mailsudo nano sendmail.mc
přidejte níže uvedené konfigurace hned za řádek MAILER _DEFINITIONS.
nahraďte smtp-host
vaším SMTP hostname.
define(`SMART_HOST',`')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_OPTIONS', `A p')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
konfigurace by měla vypadat stejně jako níže uvedený snímek obrazovky.
Nyní uložte soubor a ukončete editor.
znovu vytvořte konfiguraci Sendmailu
po dokončení konfigurace je třeba znovu vytvořit konfiguraci Sendmailu pomocí příkazu make
.
cd /etc/mailmake
po přestavbě konfigurace je třeba restartovat Sendmail
restartovat Sendmail
restartovat Sendmail pomocí následujícího příkazu.
sudo /etc/init.d/sendmail restart
nyní můžete odesílat e-maily pomocí SMTP.
další konfigurace
konfigurace s PHP
Chcete – li použít Sendmail s PHP, musíte v souboru php.ini
přidat cestu sendmail.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
do dolní části souboru přidejte následující.
sendmail_path= /usr/sbin/sendmail -t -i
restartujte Apache nebo PHP-FPM, aby se změny projevily.
sudo service apache2 restartorsudo service php8.0-fpm restart
Sendmail SMTP Konfigurace bez Auth
zapouzdřit pokud máte povolenou IP adresu serveru pro SMTP a můžete odesílat e-maily bez ověření, můžete postupovat podle níže uvedené metody.
nemusíte vytvářet soubor smtp-auth
, který jsme vytvořili výše.
můžete přímo upravit soubor sendmail.mc
a provést následující změny.
cd /etc/mailsudo nano sendmail.mc
přidejte níže uvedené konfigurace na poslední.
nahraďte smtp-host
vaším SMTP hostname.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
uložte soubor, znovu vytvořte konfiguraci a restartujte Sendmail.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
závěr
Nyní jste se naučili, jak nainstalovat a nakonfigurovat Sendmail pro přenos pomocí SMTP na Ubuntu.