
Ich habe postfix
es auf einer Entwicklungsbox installiert und verwendetdie Parameter aus diesem anderen Postingzum Konfigurieren, postfix
damit nur daran gearbeitet werden kann localhost
. Aber der andere Beitrag erklärt nicht, wie man E-Mails sendet oder empfangene E-Mails von der Befehlszeile aus anzeigt. Ich habe Code auf höherer Ebene zum Senden/Empfangen von smtp
E-Mails, aber ich möchte dies zuerst von der Befehlszeile aus tun können, um zu überprüfen, ob es postfix
funktioniert, bevor ich anfange, den Code auf höherer Ebene zu testen. Ich habe mehrere Versuche unternommen und es scheint, als würde ich E-Mails senden, aber ich kann die gesendeten E-Mails nicht finden.Wie kann ich bestätigen, dass die E-Mails gesendet wurden und die E-Mails auch von der Befehlszeile aus lesen?
BEARBEITEN #1:
Ich habe MAIL=/home/root/Maildir
im Terminal eingegeben und dann die Eingabetaste gedrückt, dann eingegeben mail
und die Eingabetaste gedrückt. Ich habe dies im root
Konto und noch einmal im username
Konto getan. Dadurch wurde eine Liste alter E-Mails im root
Konto angezeigt, also habe ich mich beim username
Konto angemeldet und Folgendes eingegeben, um eine E-Mail von username
an zu senden root
:
sendmail root@localhost <<EOF
subject:This is a test
from:username@localhost
Body message here...
EOF
Der vorangegangene Code führte zu einer weiteren Eingabeaufforderung ohne Fehler. Aber als ich mich wieder anmeldete root
und mail
erneut tippte, um meine E-Mails abzurufen, wurde die neue E-Mail nicht zusammen mit den alten E-Mails aufgeführt.
Außerdem main.cf
gilt:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myorigin = localhost
inet_interfaces = localhost
inet_protocols = all
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
relayhost =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mailbox_command =
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
Was mache ich falsch?
BEARBEITEN#2:
Nach IanMcGowans Vorschlägen habe ich überprüft, ob es mailx
bereits installiert war. Ich habe danndieses Tutorialum das Senden und Empfangen von E-Mails mit den mailx
Befehlen zu testen, aber ich kann die neu gesendeten E-Mails auch nicht lesen. Ich denke, es ist ein Konfigurationsproblem. Ich verwende E-Mail-Adressen wie root@localhost
und username@localhost
.
telnet localhost 25
ergibt:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
nano /var/log/maillog
enthält:
Jan 5 12:09:40 localhost postfix/postfix-script[6162]: starting the Postfix mail system
Jan 5 12:09:40 localhost postfix/master[6164]: daemon started -- version 2.10.1, configuration /etc/postfix
Jan 5 12:46:00 localhost postfix/postfix-script[3036]: starting the Postfix mail system
Jan 5 12:46:00 localhost postfix/master[3047]: daemon started -- version 2.10.1, configuration /etc/postfix
Jan 5 13:12:02 localhost postfix/smtpd[4642]: connect from localhost.localdomain[127.0.0.1]
Jan 5 13:12:02 localhost postfix/smtpd[4642]: DB1249A618: client=localhost.localdomain[127.0.0.1]
Jan 5 13:12:02 localhost postfix/cleanup[4645]: DB1249A618: message-id=<1738078707.0.1420492322780.JavaMail.username@localhost.localdomain>
Jan 5 13:12:02 localhost postfix/qmgr[3058]: DB1249A618: from=<[email protected]>, size=632, nrcpt=1 (queue active)
Jan 5 13:12:02 localhost postfix/smtpd[4642]: disconnect from localhost.localdomain[127.0.0.1]
Jan 5 13:12:02 localhost postfix/local[4646]: DB1249A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.11, delays=0.06/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 13:12:02 localhost postfix/qmgr[3058]: DB1249A618: removed
Jan 5 14:29:20 localhost postfix/pickup[5207]: 7F4439A616: uid=1000 from=<username>
Jan 5 14:29:20 localhost postfix/cleanup[5266]: 7F4439A616: message-id=<[email protected]>
Jan 5 14:29:20 localhost postfix/qmgr[3058]: 7F4439A616: from=<[email protected]>, size=334, nrcpt=1 (queue active)
Jan 5 14:29:20 localhost postfix/local[5271]: 7F4439A616: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.13, delays=0.1/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 14:29:20 localhost postfix/qmgr[3058]: 7F4439A616: removed
Jan 5 14:57:10 localhost postfix/pickup[5207]: A21B49A618: uid=0 from=<root>
Jan 5 14:57:10 localhost postfix/cleanup[5529]: A21B49A618: message-id=<[email protected]>
Jan 5 14:57:10 localhost postfix/qmgr[3058]: A21B49A618: from=<[email protected]>, size=534, nrcpt=1 (queue active)
Jan 5 14:57:10 localhost postfix/local[5531]: A21B49A618: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.38, delays=0.34/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 14:57:10 localhost postfix/qmgr[3058]: A21B49A618: removed
Jan 5 15:47:38 localhost postfix/pickup[5207]: F312D9A618: uid=0 from=<root>
Jan 5 15:47:39 localhost postfix/cleanup[5975]: F312D9A618: message-id=<[email protected]>
Jan 5 15:47:39 localhost postfix/qmgr[3058]: F312D9A618: from=<[email protected]>, size=458, nrcpt=1 (queue active)
Jan 5 15:47:39 localhost postfix/local[5977]: F312D9A618: to=<[email protected]>, orig_to=<username@localhost>, relay=local, delay=0.12, delays=0.09/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 15:47:39 localhost postfix/qmgr[3058]: F312D9A618: removed
Jan 5 15:48:20 localhost postfix/pickup[5207]: A826C9A618: uid=1000 from=<username>
Jan 5 15:48:20 localhost postfix/cleanup[5975]: A826C9A618: message-id=<[email protected]>
Jan 5 15:48:20 localhost postfix/qmgr[3058]: A826C9A618: from=<[email protected]>, size=461, nrcpt=1 (queue active)
Jan 5 15:48:20 localhost postfix/local[5977]: A826C9A618: to=<[email protected]>, orig_to=<username@localhost>, relay=local, delay=0.11, delays=0.08/0/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 15:48:20 localhost postfix/qmgr[3058]: A826C9A618: removed
Jan 5 15:48:29 localhost postfix/pickup[5207]: 54AA19A618: uid=1000 from=<username>
Jan 5 15:48:29 localhost postfix/cleanup[5975]: 54AA19A618: message-id=<[email protected]>
Jan 5 15:48:29 localhost postfix/qmgr[3058]: 54AA19A618: from=<[email protected]>, size=461, nrcpt=1 (queue active)
Jan 5 15:48:29 localhost postfix/local[5977]: 54AA19A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.11, delays=0.09/0/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 15:48:29 localhost postfix/qmgr[3058]: 54AA19A618: removed
Jan 5 15:52:03 localhost postfix/pickup[5207]: C756E9A618: uid=0 from=<root>
Jan 5 15:52:03 localhost postfix/cleanup[6074]: C756E9A618: message-id=<[email protected]>
Jan 5 15:52:03 localhost postfix/qmgr[3058]: C756E9A618: from=<[email protected]>, size=491, nrcpt=1 (queue active)
Jan 5 15:52:03 localhost postfix/local[6076]: C756E9A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.13, delays=0.09/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan 5 15:52:03 localhost postfix/qmgr[3058]: C756E9A618: removed
Jan 5 16:02:36 localhost postfix/smtpd[6213]: connect from localhost.localdomain[127.0.0.1]
Jan 5 16:04:26 localhost postfix/smtpd[6213]: disconnect from localhost.localdomain[127.0.0.1]
In den Protokollen steht delivered to maildir
: Verwende ich die falsche Syntax, um auf maildir
Inhalte zuzugreifen? Wenn ja, welche ist die richtige Syntax? Oder liegt das Problem main.cf
oben?
BEARBEITEN#3
Ich habe nano /var/spool/mail/root
die alten E-Mails eingegeben und konnte sie anzeigen, die angezeigt werden, wenn ich mich als Root anmelde und mail
oder eingebe. Die neuen E-Mails sind dort jedoch nicht zu finden. Diese E-Mails werden automatisiert und scheinen Relikte aus der Zeit vor der Konfiguration zur Verwendung von Struktur mailx
zu sein .postfix
/Maildir
Antwort1
Sofern Sie Ihren E-Mail-Speicher nicht aus bestimmten Gründen verschieben müssen, stellen Sie die Konfiguration einfach auf die Standardeinstellungen zurück.
Bei dieser Konfiguration werden Ihre E-Mails in /var/spool/mail/<username>
statt in gespeichert home
. Das bedeutet, dass jeder von Ihnen installierte MUA ohne Neukonfiguration weiß, wo sie zu finden sind.
Antwort2
Wenn Sie nur die Verbindung testen, funktioniert die Verwendung von Mail/Sendmail über die Befehlszeile einwandfrei (ebenso wie Telnet Localhost 25). Wenn Sie diese E-Mail nicht erhalten, suchen Sie in /var/log nach Fehlern und posten Sie diese, um Hilfe bei der Lösung zu erhalten.
Wenn Sie tatsächlich E-Mails über die Kommandozeile senden und empfangen möchten, benötigen Sie einen Mail User Agent (MUA) und keinen Mail Transfer Agent (MTA)[3]. Mutt[1] ist die gängige Lösung, obwohl es auch andere hervorragende Kommandozeilen-Clients zur Auswahl gibt[2].
[2]http://en.wikipedia.org/wiki/Liste_der_E-Mail-Clients#Textbasiert
[3]http://en.wikipedia.org/wiki/Email_agent_%28infrastructure%29
Antwort3
ÄndernMAIL=/home/root/Maildir
MAIL=/root/Maildir