Cambiar el "De:" dirección en Unix "correo"
Pregunta
El envío de un mensaje desde la línea de comandos de Unix usando mail TO_ADDR
resultados en un correo electrónico de $USER@$HOSTNAME
.Es allí una manera de cambiar el "De:" dirección 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 red hat enterprise linux).
[EDITAR]
$ mail -s Testing chris@example.org Cc: From: foo@bar.org Testing .
los rendimientos
Subject: Testing To: <chris@example.org> 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: foo@bar.org Testing
El "De:foo@bar.org" la línea es parte del cuerpo del mensaje, no parte de la cabecera.
Solución
En mi versión de mail ( linux Debian 4.0 ) las siguientes opciones de trabajo para el control de la fuente / responder direcciones
- el -un interruptor de cabeceras adicionales a aplicar, el suministro De:encabezado de la línea de comandos que se anexará a la salida del encabezado del correo electrónico
- el $REPLYTO la variable de entorno especifica una Respuesta Para:encabezado
así que la siguiente secuencia
export REPLYTO=cms-replies@example.com
mail -aFrom:cms-sends@example.com -s 'Testing'
El resultado, en mi cliente de correo, es un correo de cms-sends@example.com que las respuestas se predeterminado cms-replies@example.com
NB: Los usuarios de Mac OS:usted no tiene -un , pero usted tiene $REPLYTO
PD(2): Los usuarios de CentOS, muchos comentaristas han agregado que usted necesita para utilizar -r
no -a
NOTA(3): Esta respuesta es de al menos diez años de antigüedad(1), por favor, tenga esto en mente cuando usted está viniendo de Google.
Otros consejos
En Centos 5.3 yo soy capaz de hacer:
mail -s "Subject" user@address.com -- -f from@address.com < body
El guión doble paradas de correo de analizar el argumento-f y pasa junto a sendmail sí mismo.
GNU mailutils del 'correo' comando no permite hacer esto (fácilmente al menos).Pero Si instala 'herencia-mailx', su comando de correo electrónico (mailx) tiene la '-r' opción para reemplazar el valor predeterminado '$USUARIO@$HOSTNAME' de campo.
echo "Hello there" | mail -s "testing" -r sender@company.com recipient@company.com
Obras para la '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
mail -s "$(echo -e "This is the subject\nFrom: Paula <johny@paula.com>\n
Reply-to: 1232564@yourserver.com\nContent-Type: text/html\n")"
milas.josh@gmail.com < htmlFileMessage.txt
el de arriba es mi solución....cualquier encabezados adicionales pueden ser añadidas después de la de y antes de la respuesta a...sólo asegúrese de que usted sabe que su encabezados de sintaxis antes de agregarlos....esto funcionó a la perfección para mí.
Además, es bueno utilizar -F option
para especificar el Nombre del remitente.
Algo como esto:
mail -s "$SUBJECT" $MAILTO -- -F $MAILFROM -f ${MAILFROM}@somedomain.com
O simplemente mirar a las opciones disponibles:http://www.courier-mta.org/sendmail.html
También es posible configurar tanto el De nombre y de dirección usando algo como:
echo test | mail -s "test" example@example.com -- -F'Some Name<example2@example.com>' -t
Por alguna razón que pasa -F'Some Name'
y -fexample2@example.com
no funciona, pero que pasa en el -t
a sendmail funciona y es "fácil".
Aquí están algunas opciones:
Si usted tiene privelige suficiente, configurar sendmail para hacer reescribe con los genéricos de la tabla
Escribir el encabezado completo de sí mismo (o enviarlo por correo a ti mismo, guardar el mensaje completo con todos los encabezados, y re-editar y enviar con rmail desde la línea de comandos
Enviar directamente con sendmail, utilizar la opción "-f" comando de la línea de bandera y que no incluya su "De:" de la línea en su mensaje
Estos no son todos exactamente el mismo, pero lo voy a dejar para buscar más a fondo.
En mi portátil, me han sendmail autenticación como un cliente a un servidor de correo saliente y uso de medicamentos genéricos para facilitar su regreso de correo a otra cuenta.Funciona como un encanto.Yo agregado de correo entrante con fetchmail.
No sé si es el mismo con cualquier otro sistema operativo, pero en OpenBSD, el comando mail tiene esta sintaxis:
mail to-addr ... -sendmail-options ...
sendmail tiene la opción-f de donde te indican la dirección de correo electrónico para el DE:campo.El siguiente comando funciona para mí.
mail recepient@example.com -f from@example.com
Gracias BEAU
mail -s "Subject" user@address.com -- -f from@address.com
Acabo de encontrar esto y funciona para mí.Las páginas man para el correo 8.1 en CentOS 5 no menciona esto.Para -f
opción, la página man dice:
-f Leer los mensajes desde el archivo con el nombre del archivo operando en lugar del sistema de buzón de correo.(Véase también la carpeta.) Si no hay ningún archivo operando especificado, leer los mensajes de mbox en lugar del sistema de buzón de correo.
Así que de todos modos esto es grande para encontrar, gracias.
Yo derivados de este a partir de todas las respuestas de arriba.Nada funcionó para mí cuando traté de cada uno de ellos.Me hizo mucha prueba y error mediante la combinación de todas las anteriores respuestas y la conclusión sobre este.No estoy seguro de si esto funciona para usted, pero a mí me funcionó en Ununtu 12.04 y RHEL 5.4.
echo "This is the body of the mail" | mail -s 'This is the subject' '<receiver-id1@email.com>,<receiver-id2@email.com>' -- -F '<SenderName>' -f '<from-id@email.com>'
Uno puede enviar el correo a cualquier número de personas mediante la adición de cualquier número de número de identificación del receptor y el correo es enviado por SenderName de from-id@email.com
Espero que esto ayude.
En Debian 7 que aún era incapaz de establecer correctamente la dirección del remitente, utilizando las respuestas de esta pregunta, (siempre sería el nombre de host del servidor), pero se resuelve de esta manera.
Instalar herencia-mailx
apt-get install heirloom-mailx
asegurarse de que es el valor predeterminado.
update-alternatives --config mailx
Redactar un mensaje.
mail -s "Testing from & replyto" -r "sender <sender@example.com>" -S replyto="sender@example.com" recipient@example.net < <(echo "Test message")
echo "body" | mail -S from=address@foo.com "Hello"
-S le permite especificar un montón de opciones de la cadena, por mucho, la forma más fácil de modificar encabezados y tal.
En CentOS esto funcionó para mí:
echo "email body" | mail -s "Subject here" -r from_email_address email_address_to
esto funcionó para mí
echo "hi root"|mail -rsawrub@testingdomain.org -s'testinggg' root
En CentOS 5.5, la forma más sencilla que he encontrado para establecer el valor predeterminado de dominio es modificar el archivo hosts.Si tu archivo hosts contiene WAN/dirección IP pública, simplemente modifique el primer nombre de host aparece para él.Por ejemplo, tu archivo hosts podría parecerse a:
...
11.22.33.44 localhost por defecto de dominio whatever-else.com
...
Para hacer que se envíe desde whatever-else.com simplemente modificarlo con el fin de que whatever-else.com es el primero en la lista, por ejemplo:
...
11.22.33.44 whatever-else.com localhost por defecto de dominio
...
Yo no puedo hablar de cualquier otra distro (o incluso versión de CentOS) pero en mi caso particular, lo anterior funciona perfectamente.
echo "prueba" | mailx -r fake@example.com -s 'prueba' email@example.com
Funciona en OpenBSD.
Lo que me permitió tener un custom dirección de respuesta en un Ubuntu 16.04
con UTF-8
codificación y un archivo adjunto:
Instalar el cliente de correo:
sudo apt-get install heirloom-mailx
Editar la configuración de SMTP:
sudo vim /etc/ssmtp/ssmtp.conf
mailhub=smtp.gmail.com:587
FromLineOverride=YES
AuthUser=???@gmail.com
AuthPass=???
UseSTARTTLS=YES
Enviar el correo:
sender='send@domain.com'
recipient='recipient@domain.com'
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)
Ninguna de las soluciones anteriores están trabajando para mí...
#!/bin/bash
# Message
echo "My message" > message.txt
# Mail
subject="Test"
mail_header="From: John Smith <john.smith@example.com>"
recipients="recipient@example.com"
#######################################################################
cat message.txt | mail -s "$subject" -a "$mail_header" -t "$recipients"
Las respuestas que se dieron antes no funcionó para mí en CentOS5.He instalado mutt.Tiene un montón de opciones.Con mutt hacerlo de esta manera:
export EMAIL=myfrom@example.com
export REPLYTO=myreplyto@example.com
mutt -s Testing chris@example.org