Jak zainstalować i skonfigurować Sendmaila na Ubuntu
jak zainstalować i skonfigurować Sendmaila na Ubuntu do wysyłania wiadomości e-mail za pomocą serwera poczty, który kieruje lub przekazuje dostarczanie poczty.
Sendmail jest opensource Mail Transfer Agent (MTA), który jest używany do kierowania poczty za pomocą serwera lub za pomocą poleceń powłoki. Możesz również skonfigurować SMTP za pomocą Sendmaila.
w tym przewodniku dowiesz się, jak zainstalować i skonfigurować Sendmail na Ubuntu. Ponadto skonfigurujesz SMTP i skonfigurujesz go za pomocą PHP.
Najlepszy Hosting dla Twojej firmy
Platforma | opinie | cennik |
---|---|---|
Cloudways | ★★★★★ | $10 |
Kinsta – Google Cloud | ★★★★★ | $30 |
zaktualizuj Pakiety serwera
SSH wewnątrz serwera i zaktualizuj pakiety do najnowszej wersji.
sudo apt updatesudo apt upgrade
zainstaluj Sendmaila
Sendmail jest dostępny w repozytorium ubuntu, więc możesz bezpośrednio zainstalować za pomocą polecenia apt install
.
sudo apt install sendmail
Skonfiguruj nazwę hosta
Edytuj plik /etc/hosts
i dodaj swoją nazwę hosta.
sudo nano /etc/hosts
w linii rozpoczynającej się od 127.0.0.1
dodaj hostname
na koniec, jak wygląda poniżej. To powinno być na jednej linii.
127.0.0.1 localhost hostname
Konfiguracja SMTP
Utwórz nowy katalog wewnątrz /etc/mail
dla konfiguracji SMTP.
sudo mkdir /etc/mail/authinfo
Ustaw prawidłowe uprawnienia.
sudo chmod -R 700 /etc/mail/authinfo
Utwórz nowy plik uwierzytelniania SMTP wewnątrz nowo utworzonego katalogu.
cd /etc/mail/authinfosudo nano smtp-auth
wklej poniższy wiersz i zastąp adres e-mail loginem e-mail i hasło hasłem.
AuthInfo: "U:root" "I:email-address" "P:password"
naciśnij CRTL + X
, a następnie Y
i ENTER
, aby zapisać i zakończyć plik.
utwórz mapę bazy danych hash dla powyższego utworzonego uwierzytelniania.
sudo makemap hash smtp-auth < smtp-auth
Konfiguracja SMTP
przejdź do katalogu konfiguracyjnego sendmaila i edytuj plik sendmail.mc
.
cd /etc/mailsudo nano sendmail.mc
Dodaj poniższe konfiguracje zaraz po linii MAILER _DEFINITIONS.
Zastąp smtp-host
nazwą hosta SMTP.
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
konfiguracja powinna wyglądać tak samo jak na poniższym zrzucie ekranu.
teraz zapisz plik i zamknij Edytor.
Odbuduj konfigurację Sendmaila
po zakończeniu konfiguracji musisz odbudować konfigurację Sendmaila za pomocą polecenia make
.
cd /etc/mailmake
po przebudowaniu konfiguracji należy ponownie uruchomić Sendmaila
ponownie uruchomić Sendmaila
ponownie uruchomić Sendmaila za pomocą następującego polecenia.
sudo /etc/init.d/sendmail restart
teraz możesz wysyłać e-maile za pomocą SMTP.
dodatkowe konfiguracje
konfiguracja z PHP
aby używać Sendmaila z PHP, musisz dodać ścieżkę sendmaila do pliku php.ini
.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
na dole pliku dodaj następujące informacje.
sendmail_path= /usr/sbin/sendmail -t -i
Uruchom ponownie Apache lub PHP-FPM, aby zmiany zaczęły obowiązywać.
sudo service apache2 restartorsudo service php8.0-fpm restart
Konfiguracja SMTP Sendmaila bez autoryzacji
jeśli umieściłeś na białej liście adres IP serwera SMTP i możesz wysyłać e-maile bez uwierzytelniania, możesz postępować zgodnie z poniższą metodą.
nie musisz tworzyć pliku smtp-auth
, który stworzyliśmy powyżej.
możesz bezpośrednio edytować plik sendmail.mc
i wprowadzić następujące zmiany.
cd /etc/mailsudo nano sendmail.mc
Dodaj poniższe konfiguracje do ostatniego.
Zastąp smtp-host
nazwą hosta SMTP.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Zapisz plik, Przebuduj konfigurację i uruchom ponownie Sendmaila.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
podsumowanie
teraz nauczyłeś się instalować i konfigurować Sendmaila do przekazywania za pomocą SMTP na Ubuntu.