
Lo instalé postfix
en una caja de desarrollo y usélos parámetros de esta otra publicaciónpara configurar postfix
para trabajar localhost
solo. Pero la otra publicación no explica cómo enviar correos electrónicos o ver los correos electrónicos recibidos desde la línea de comando. Tengo un código de nivel superior para enviar/recibir smtp
correo electrónico, pero primero quiero poder hacerlo desde la línea de comando para validar que postfix
funciona antes de comenzar a probar el código de nivel superior. He hecho varios intentos y parece que estoy enviando correos electrónicos, pero no puedo encontrar los correos electrónicos que se enviaron.¿Cómo puedo confirmar que los correos electrónicos se han enviado y también leerlos desde la línea de comando?
EDITAR #1:
Escribí MAIL=/home/root/Maildir
en la terminal, luego presioné regresar, luego escribí mail
y presioné regresar. Hice esto en la root
cuenta y nuevamente en la username
cuenta. Esto mostró una lista de correos electrónicos antiguos en la root
cuenta, así que inicié sesión en la username
cuenta y escribí lo siguiente para enviar un correo electrónico username
a root
:
sendmail root@localhost <<EOF
subject:This is a test
from:username@localhost
Body message here...
EOF
El código anterior generó otro símbolo del sistema sin errores. Pero cuando volví a iniciar sesión root
y escribí mail
nuevamente para revisar el correo, el nuevo correo electrónico no aparecía junto con los correos electrónicos antiguos.
Además, main.cf
es el siguiente:
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
¿Qué estoy haciendo mal?
EDITAR #2:
Después de las sugerencias de IanMcGowan, verifiqué que mailx
ya estaba instalado. entonces uséeste tutorialPara probar el envío y la recepción de correos electrónicos usando los mailx
comandos, pero tampoco puedo leer los correos electrónicos recién enviados. Creo que es un problema de configuración. Estoy usando direcciones de correo electrónico como root@localhost
y username@localhost
.
telnet localhost 25
da como resultado:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
nano /var/log/maillog
contiene:
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]
Los registros dicen delivered to maildir
. ¿Estoy usando una sintaxis incorrecta para acceder a maildir
los contenidos? Si es así, ¿cuál es la sintaxis correcta? ¿O el problema está main.cf
arriba?
EDITAR#3
Escribí nano /var/spool/mail/root
y pude ver los correos electrónicos antiguos que aparecen cuando inicio sesión como root y escribo mail
o mailx
. Pero los nuevos correos electrónicos no se encuentran allí. Estos correos electrónicos están automatizados y parecen ser reliquias de antes de que postfix
se configuraran para usar /Maildir
la estructura.
Respuesta1
A menos que tenga un requisito específico para trasladar su tienda de correo; simplemente restaure la configuración a los valores predeterminados.
Esa configuración almacena sus correos electrónicos en /var/spool/mail/<username>
lugar del suyo, home
lo que significa que cualquier MUA que instale sabrá dónde encontrarlo sin ninguna reconfiguración.
Respuesta2
Si solo está probando la plomería, entonces usar mail/sendmail desde la línea de comando funcionará bien (al igual que telnet localhost 25). Si no recibe ese correo, verifique /var/log para ver si hay errores y publíquelos para obtener ayuda para resolverlos.
Si realmente desea enviar y recibir correo electrónico desde la línea de comando, entonces necesita un Agente de usuario de correo (MUA), no un Agente de transferencia de correo (MTA)[3]. Mutt[1] es la respuesta común, aunque existen otros excelentes clientes de línea de comandos para elegir[2].
[2]http://en.wikipedia.org/wiki/List_of_email_clients#Text-based
[3]http://en.wikipedia.org/wiki/Email_agent_%28infrastructure%29
Respuesta3
Cambiar MAIL=/home/root/Maildir
aMAIL=/root/Maildir