Ich wollte einen Mailserver, den ich frei nutzen kann Das war alles was ich wollte Das wäre so ...
Mir wurde gesagt, welche Zahl der Sud ist, Ich habe versucht, einen Mailserver auf EC2 aufzubauen
Es gibt viele ähnliche Artikel, Als Aufzeichnung dessen, was ich getan habe Ich werde auch einen neuen ähnlichen Artikel erstellen
Ich hoffe, dass ein Teil irgendwo nützlich sein wird
Starten Sie eine Instanz auf EC2 von AWS Diesmal habe ich es mit t2.micro von Free Frame gebaut Das Betriebssystem verwendet AMAZON LINUX
Öffnen Sie den Port, der eingehend benötigt wird, in der Sicherheitsgruppe der erstellten Instanz
POP3 TCP 110 0.0.0.0/0 -
POP3S TCP 995 0.0.0.0/0 -
IMAPS TCP 993 0.0.0.0/0 -
SSH TCP 22 0.0.0.0/0 -
SMTP TCP 25 0.0.0.0/0 -
IMAP TCP 143 0.0.0.0/0 -
SMTPS TCP 465 0.0.0.0/0 -
Benutzerdefiniertes TCP 587 0.0.0.0/0 -
Diesmal habe ich versucht, den Mailserver anhand der nach Namen erhaltenen Domain zu benennen
Name.com Domain Management DNS, Hinzufügen Ein Datensatz und ein MX-Datensatz der diesmal erstellten Instanz
Ein Rekord Beispiel) A smtp.example.com 11.22.33.44
MX-Aufnahme Beispiel) MX example.com 10 smtp.example.com
AWS Route 53 ist auch ohne Namen möglich
Wenn Sie nur eine E-Mail senden, können Sie diese senden, ohne eine Domain erwerben zu müssen
Ich kenne die Details nicht, weil ich sie noch nicht bestätigt habe.
Stellen Sie mit SSH eine Verbindung zu der oben erstellten Instanz her Update vorerst
yum -y update
Und Postfix-Installation
yum -y install postfix
Bearbeiten Sie die Konfigurationsdatei nach erfolgreicher Installation
# vi /etc/postfix/main.cf
Suchen und bearbeiten Sie den folgenden Teil
myhostname = smtp.example.com
mydomain = exapmle.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_banner = $myhostname ESMTP unknown
home_mailbox = Maildir/
#Am Ende hinzugefügt
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
message_size_limit = 10485760
# vi /etc/postfix/master.cf
submission inet n - n - - smtpd #Kommentar
-o smtpd_sasl_auth_enable=yes #Kommentar
Erstellen Sie automatisch ein Mail-Speicherverzeichnis, wenn ein neuer Mail-sendender Benutzer erstellt wird
# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/
# yum -y install cyrus-sasl
# chkconfig saslauthd on
# service saslauthd start
# vi /etc/postfix/main.cf
#Am Ende hinzugefügt
local_recipient_maps =
luser_relay = unknown_user@localhost
# echo unknown_user: /dev/null >> /etc/aliases
# newaliases
Stoppen Sie, wenn sendmail vorhanden ist
# chkconfig sendmail off
# service sendmail stop
# chkconfig postfix on
# service postfix start
# yum -y install dovecot
# vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir #Ändern Sie den Kommentarteil
# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no #Wechseln Sie zu Nr
auth_mechanisms = plain login #Zu vorhandenem hinzufügen
# vi /etc/dovecot/conf.d/10-master.conf
#Bearbeiten Sie die vorhandene
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
# vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no #Wechseln Sie zu Nr
# chkconfig dovecot on
# service dovecot start
# useradd user
# passwd user
Legen Sie ein neues Benutzerkennwort fest, setzen Sie es jedoch vorerst auf "Benutzer"
# ls /home/user/Maildir/ #Stellen Sie sicher, dass das Verzeichnis erstellt wurde
Versuchen Sie es im Mail-Sendetest an sich selbst zu senden
# sendmail [email protected]
To:[email protected]
From:[email protected]
Subject:test
myself test.
.
Stellen Sie sicher, dass Sie eine E-Mail haben
#ls /home/user/Maildir/new/
Stellen Sie sicher, dass Sie an dieser Stelle den erforderlichen Port abhören.
# netstat -nl | grep tcp
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
Versuchen Sie, die Mail mit einer geeigneten Mail-Software wie Thunderbird zu empfangen
Benutzer: Benutzer E-Mail-Adresse: [email protected] Passwort: Benutzer
Pop-Server: smtp.example.com 110 Port SMTP-Server: smtp.example.com 587 Port
"Normale Passwortauthentifizierung" mit "ohne SSL-Schutz"
Zu diesem Zeitpunkt können Sie E-Mails an sich selbst senden, sollten diese jedoch nicht nach außen senden können.
Sie können also zum Senden von E-Mails an den SMTP-Server von Google weiterleiten
# vi /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:587 #Vorhandenes Teil bearbeiten
#Fügen Sie am Ende mehr hinzu
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
Verwenden Sie Ihr eigenes Google Mail-Konto, um sich bei Google Mail zu authentifizieren
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 [email protected]:password
Erstellen Sie eine Hash-Datei
# postmap /etc/postfix/sasl_passwd
Stellen Sie ein, dass weniger sichere Apps in Ihrem Google-Konto zulässig sind
https://myaccount.google.com/lesssecureapps
Versuchen Sie, eine Test-E-Mail zu senden
# sendmail [email protected]
To:[email protected]
From:[email protected]
Subject:test
myself test.
.
Schließen Sie ab, wenn die Übertragung erfolgreich ist
Es wurde eine Richtlinie geschrieben, um die externe Kommunikation (25.110.143 usw.) auf dem Unternehmensrouter zu stoppen Ich habe mehrere Stunden gebraucht, um dies zu bemerken, und ich habe nur unnötige Anpassungen vorgenommen.
Die Sicherheitsgruppe der EC2-Instanz hatte nicht genügend offene Ports
Wieder habe ich ein paar Stunden verschwendet
Ich habe dieses Mal versucht, Outlook als Software zum Synchronisieren von Konten zu verwenden, aber es scheint, dass eine Authentifizierung möglich ist, aber ich kann kein Konto erstellen. Die Meldung zu Outlook lautet, dass das Konto aufgrund eines Problems mit dem SMTP-Server nicht erstellt werden konnte. Das Serverprotokoll zu diesem Zeitpunkt lautet wie folgt
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: auth client connected (pid=22036)
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: client in:AUTH#0111#011PLAIN#011service=pop3#011session=OZ2Cl9esN+lqmoDo#011lip=172.31.43.165#011rip=106.154.128.232#011lport=110#011rport=59703
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: client passdb out: CONT#0111#011
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: client in: CONT<hidden>
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: Loading modules from directory: /usr/lib64/dovecot/auth
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: Module loaded: /usr/lib64/dovecot/auth/lib20_auth_var_expand_crypt.so
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: pam(user,106.154.128.232,<OZ2Cl9esN+lqmoDo>): lookup service=dovecot
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: pam(user,106.154.128.232,<OZ2Cl9esN+lqmoDo>): #1/1 style=1 msg=Password:
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: client passdb out: OK#0111#011user=user#011
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: master in: REQUEST#0111203240961#01122036#0111#011f2ecb8ac5535457503d22d0e493b0733#011session_pid=22038
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth-worker(22037): Debug: passwd(user,106.154.128.232,<OZ2Cl9esN+lqmoDo>): lookup
Aug 14 14:54:03 ip-172-31-43-165 dovecot: auth: Debug: master userdb out: USER#0111203240961#011user#011system_groups_user=user#011uid=502#011gid=502#011home=/home/user
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3-login: Login: user=<user>, method=PLAIN, rip=106.154.128.232, lip=172.31.43.165, mpid=22038, session=<OZ2Cl9esN+lqmoDo>
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3(user): Debug: Effective uid=502, gid=502, home=/home/user
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3(user): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:~/Maildir
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3(user): Debug: maildir++: root=/home/user/Maildir, index=, indexpvt=, control=, inbox=/home/user/Maildir, alt=
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3(user): Debug: INBOX: Mailbox opened because: POP3 INBOX
Aug 14 14:54:03 ip-172-31-43-165 dovecot: pop3(user): Disconnected: Logged out top=0/0, retr=0/0, del=0/13, size=15260
Ich fragte mich, warum es zu funktionieren schien und googelte Einige Leute sagen, dass Outlook nicht funktioniert, aber Thunderbird funktioniert. Als ich Thunderbird in meinen PC steckte und es versuchte, Es funktionierte
Die Einstellungen für Outlook scheinen unterschiedlich zu sein
Wieder (weggelassen)
[EC2] Aufbau eines Mailservers (Postfix + Dovecot) Mail-Server-Aufbau (Postfix + Dovecot) Detaillierte Erklärung mit Experimenten auf SMTP-Server und POP-Server E-Mail mit Postfix an Google Mail senden