usuarios - Cambiar la dirección "De:" en Unix "mail"
ver id grupo linux (18)
Además, es bueno usar la -F option
para especificar el nombre del remitente.
Algo como esto:
mail -s "$SUBJECT" $MAILTO -- -F $MAILFROM -f ${MAILFROM}@somedomain.com
O simplemente mira las opciones disponibles: http://www.courier-mta.org/sendmail.html
Enviar un mensaje desde la línea de comandos de Unix utilizando el mail TO_ADDR
genera un correo electrónico desde $USER@$HOSTNAME
. ¿Hay alguna forma de cambiar la dirección "De:" insertada por mail
?
Para el registro, estoy usando GNU Mailutils 1.1 / 1.2 en Ubuntu (pero he visto el mismo comportamiento con Fedora y RHEL).
[EDITAR]
$ mail -s Testing [email protected] Cc: From: [email protected] Testing .
rendimientos
Subject: Testing To: <[email protected]> X-Mailer: mail (GNU Mailutils 1.1) Message-Id: <E1KdTJj-00025z-RK@localhost> From: <chris@localhost> Date: Wed, 10 Sep 2008 13:17:23 -0400 From: [email protected] Testing
La línea "From: [email protected]" es parte del cuerpo del mensaje, no parte del encabezado.
Aquí hay algunas opciones:
Si tiene suficiente privelige, configure sendmail para hacer reescrituras con la tabla de genéricos
Escriba usted mismo el encabezado completo (o envíelo por correo, guarde el mensaje completo con todos los encabezados y vuelva a editarlo, y envíelo con rmail desde la línea de comando)
Envíe directamente con sendmail, use el distintivo de línea de comando "-f" y no incluya su línea "De:" en su mensaje
Estos no son exactamente iguales, pero lo dejaré para que lo investigue más a fondo.
En mi portátil, tengo sendmail autenticando como cliente a un servidor de correo saliente y uso genéricos para hacer que el correo de retorno llegue a otra cuenta. Funciona a las mil maravillas. Agrego el correo entrante con fetchmail.
Derivé esto de todas las respuestas anteriores. Nada funcionó para mí cuando probé cada uno de ellos. Hice mucho camino y error al combinar todas las respuestas anteriores y concluí sobre esto. No estoy seguro de si esto funciona para usted, pero funcionó para mí en Ununtu 12.04 y RHEL 5.4.
echo "This is the body of the mail" | mail -s ''This is the subject'' ''<[email protected]>,<[email protected]>'' -- -F ''<SenderName>'' -f ''<[email protected]>''
Se puede enviar el correo a cualquier número de personas agregando cualquier número de identificación del receptor y el correo se envía por SenderName desde [email protected]
Espero que esto ayude.
El comando ''mail'' de GNU mailutils no te permite hacer esto (al menos fácilmente). Pero si instala ''heirloom-mailx'', su comando de correo (mailx) tiene la opción ''-r'' para anular el campo predeterminado ''$ USER @ $ HOSTNAME'' del campo.
echo "Hello there" | mail -s "testing" -r [email protected] [email protected]
Funciona para ''mailx'' pero no ''correo''.
$ ls -l /usr/bin/mail lrwxrwxrwx 1 root root 22 2010-12-23 08:33 /usr/bin/mail -> /etc/alternatives/mail $ ls -l /etc/alternatives/mail lrwxrwxrwx 1 root root 23 2010-12-23 08:33 /etc/alternatives/mail -> /usr/bin/heirloom-mailx
En CentOS 5.5, la manera más fácil que he encontrado para establecer el valor predeterminado de dominio es modificar el archivo de hosts. Si su archivo de hosts contiene su WAN / dirección IP pública, simplemente modifique el primer nombre de host que aparece en la lista. Por ejemplo, su archivo de hosts puede verse así:
...
11.22.33.44 localhost default-domain whatever-else.com
...
Para hacer que se envíe desde whatever-else.com, simplemente modifíquelo para que whatever-else.com aparezca primero, por ejemplo:
...
11.22.33.44 whatever-else.com localhost default-domain
...
No puedo hablar de ninguna otra distribución (o incluso una versión de CentOS), pero en mi caso particular, lo anterior funciona perfectamente.
En CentOS esto funcionó para mí:
echo "email body" | mail -s "Subject here" -r from_email_address email_address_to
En Centos 5.3 puedo:
mail -s "Subject" [email protected] -- -f [email protected] < body
El doble guión detiene el análisis del argumento -f y lo pasa a sendmail.
En Debian 7 todavía no pude establecer correctamente la dirección del remitente usando las respuestas de esta pregunta (siempre sería el nombre de host del servidor) pero lo resolví de esta manera.
Instalar heirloom-mailx
apt-get install heirloom-mailx
Asegúrate de que sea el predeterminado.
update-alternatives --config mailx
Componer un mensaje.
mail -s "Testing from & replyto" -r "sender <[email protected]>" -S replyto="[email protected]" [email protected] < <(echo "Test message")
En mi versión de correo (Debian Linux 4.0) las siguientes opciones funcionan para controlar las direcciones de origen / respuesta
- el modificador -a , para que se apliquen encabezados adicionales, que proporciona un encabezado De: en la línea de comando que se agregará al encabezado del correo saliente
- la variable de entorno $ REPLYTO especifica un encabezado Reply-To:
entonces la siguiente secuencia
export [email protected]
mail -aFrom:[email protected] -s ''Testing''
El resultado, en mis clientes de correo, es un correo de [email protected], que cualquier respuesta se realizará de forma predeterminada a [email protected]
NB: usuarios de Mac OS: no tiene -a, pero sí tiene $ REPLYTO
Gracias BEAU
mail -s "Subject" [email protected] -- -f [email protected]
Acabo de encontrar esto y me funciona. Las páginas man para el correo 8.1 en CentOS 5 no mencionan esto. Para la opción -f
, la página man dice:
-f Leer mensajes del archivo nombrado por el operando de archivo en lugar del buzón del sistema. (Consulte también la carpeta.) Si no se especifica ningún operando de archivo, lea los mensajes de mbox en lugar del buzón del sistema.
Entonces, de todos modos, es genial encontrarlo, gracias.
Las respuestas proporcionadas anteriormente no me funcionaron en CentOS5. Instalé mutt. Tiene muchas opciones. Con mutt, haz esto de esta manera:
export [email protected]
export [email protected]
mutt -s Testing [email protected]
Lo que me permitió tener una dirección de respuesta personalizada en Ubuntu 16.04
con UTF-8
y un archivo adjunto:
Instalar el cliente de correo:
sudo apt-get install heirloom-mailx
Edite la configuración de SMTP:
sudo vim /etc/ssmtp/ssmtp.conf
mailhub=smtp.gmail.com:587
FromLineOverride=YES
[email protected]
AuthPass=???
UseSTARTTLS=YES
Envía el correo:
sender=''[email protected]''
recipient=''[email protected]''
zipfile="results/file.zip"
today=`date +/%d-/%m-/%Y`
mailSubject=''My subject on the ''$today
read -r -d '''' mailBody << EOM
Find attached the zip file.
Regards,
EOM
mail -s "$mailSubject" -r "Name <$sender>" -S replyto="$sender" -a $zipfile $recipient < <(echo $mailBody)
No sé si es lo mismo con otro sistema operativo, pero en OpenBSD, el comando de correo tiene esta sintaxis:
mail to-addr ... -sendmail-options ...
sendmail tiene la opción -f donde indica la dirección de correo electrónico para el campo FROM :. El siguiente comando funciona para mí.
mail [email protected] -f [email protected]
También es posible establecer tanto el nombre de From como la dirección usando algo como:
echo test | mail -s "test" [email protected] -- -F''Some Name<[email protected]>'' -t
Por alguna razón, pasar -F''Some Name''
y [email protected]
no funciona, pero pasar el -t
a sendmail funciona y es'' fácil ''.
echo "prueba" | mailx -r [email protected] -s ''test'' [email protected]
Funciona en OpenBSD.
esto funcionó para mí
echo "hi root"|mail [email protected] -s''testinggg'' root
echo "body" | mail -S [email protected] "Hello"
-S le permite especificar muchas opciones de cadenas, de lejos la forma más fácil de modificar encabezados y cosas así.
mail -s "$(echo -e "This is the subject/nFrom: Paula <[email protected]>/n
Reply-to: [email protected]/nContent-Type: text/html/n")"
[email protected] < htmlFileMessage.txt
lo de arriba es mi solución ... cualquier encabezado adicional puede agregarse justo después de la respuesta de y antes de ... solo asegúrese de conocer la sintaxis de los encabezados antes de agregarlos ... esto funcionó perfectamente para mí.