mail: Invalid header when sending mail attachment with Ubuntu - email

This exact question was posted by user 'anvd' on 29th July but then removed - I found it on Google Cached version...!
I'm guessing the fix was something obvious, but would be great if it wasn't removed.
I am trying this command to send an email with an attachment.
echo 'These are contents of my daily backup' | mail -s 'Daily backup' -a /tmp/filename.gz mymail#hotmail.com
The error: mail: Invalid header: /tmp/filename.gz
The email gets sent, but the attachment is not attached.
This used to work, and still dos on other systems, but not sure what has changed on one of my machines...

I just had this problem. It turns out that -a is the flag for appending headers, whereas -A is the flag for attaching files.

Related

command to email file as an attachment

I'm using the following command to send an email with a specific file attached from the web server to me
mail -A /home/root/BACKUPS/backup.sql -s "$(date +%F) sql Backup" me#domain.com < /dev/null
Resource: https://tecadmin.net/ways-to-send-email-from-linux-command-line/
Problem is that although it is sending me an email, it's not attaching the item (backup.sql).
Does anyone see the problem with this code? Or is there something else that needs to be done to make the code work?

Mails are not sent using mutt on command line

I tried to send e-mails using mutt on commande line
echo "File encoding finished on $Now_dmY, with some errors ffmpeg: $ffmpeg MP4Box: $mp4box Thumb: $thumb Rsync: $rsync" | mutt -s "[Failed] Encoding File" -- foo#bar.com
The result is:
/root/sent is not a mailbox.
Could not send the message.
You have mail in /var/mail/root
When I opened the root file:
Diagnostic-Code: smtp; 530 5.7.1 Client was not authenticated
--A1DA321EB7.1563969927/ns366860.ip-94-23-8.eu
Content-Description: Undelivered Message
Content-Type: message/rfc822
Thank you
We had the same issue with the "sent" file.
Turned out that the file permissions somehow "changed" from 600 to 611 and that inhibited the operation.
We renamed the file so mutt would create a new file and it worked fine and that's had we figured out that the permissions changed.
We would never had though to try that if not for the info above!
Thanks everyone on this site!
Try adding -e 'unset record' to your mutt command.
It's similar question to Mutt failing as cron job with 'Couldn't lock /sent'
I preferred adding unset record at the end of .muttrc configuration file.

Sending an one-message email to a receiver by batch script file(windows)

Actually i am writing batch file to validate a text file formats. "sending an email by using lotus note" is used for reporting to receiver that any format goes right or wrong. "Sending an email" is an action after reaching if-statements.
code for sending email:
I am referencing to how can I add body to the mailto link from console Win?
if %number% equ %count% (
start "" "mailto:username in lotus note?subject=subject&body=body "
)
I am almost there, the code above start lotus note and filled in the subject&body automatically.But it don't hit the "send" button,i have to write batch script for this send action,any suggestion
Oh, i got the answer by referencing to How to send an email from one Gmail account to another one using a batch file or script?.
First, download blat from http://www.blat.net/ on the left hand side, then you will get blat.exe after unzip some download packages. Then, blat.exe should be included in the same directory of your batch file. This sendmail action allow sender to use a fake email address and in the command i show you should put down your organization or company server name & port number(generally 25).
Finally, an email can be sent by using code below:
blat.exe - -f anyAddress#mail.com -to recipient#mail.com -s Subject -body "type you body here" ^ -server hp2-server.abcd.abcdef:25
pause
some notification like "Sending stdin.txt to bla bla bla" will be shown on command windows once it succeeds.

Setting "From: " in Sendmail

I have an IRC server that automatically sends out a generic email to a user upon registration. The software (Anope) uses Sendmail to send the generic email upon registration and another email, if they forgot their password. The software requires me to specify the path to Sendmail - that's it.
When a user receives the confirmation email, they see the sender's name as "From: ircserver (ircserver#hostname.com)". Basically I'd like to change/set the name of the sender (i.e., the name in the From: field) to something more meaningful, such as "From: My Website (ircserver#hostname.com)" or "From: My Website IRC Network (ircserver#hostname.com)". (I'll come up with something later.)
I read the Sendmail README a few times, and found something similar (or so I think) to what I want (Masquerading), but that's for setting your hostname as another. Sendmail has a -F switch that sets the "From: " field, but that only works when I'm manually typing/sending the email. I have tried searching online for an answer and got results for PHP and such, which is not what I want.
OS: Debian 6.0.7
Sendmail version: 8.14.3
Thanks in advance for all your help!
Julian
You have to modify services.conf file and use -F option as you suggested :
# SendMailPath <path> [REQUIRED]
#
# This is how we should call SendMail to send a mail. It must be
# called with all parameters needed to make it scan the mail input
# to find the mail recipient; consult your SendMail documentation.
#
# Postfix users must use the compatible sendmail utility provided
# with it; this one usually needs no parameters on the command line.
# Most sendmail applications (or replacements of it) require the -t
# option to be used.
SendMailPath "/usr/sbin/sendmail -F 'Your Name'"

fetchmail/procmailrc filter by date

I have fetchmail grab my email from a pop account and send it to procmail. I have 'keep' set in my fetchmailrc file because i also use the email for outlook and i cant have fetchmail taking all my emails.
My problem is i want to download just todays emails or at lease since last time fetchmail ran.
right now i am trying to filter by date in the procmail file but it is not working.
I am using fedora14
contents of .procmailrc
SHELL=/bin/bash
DATEZ="date +'%a, %d %m %Y'"
:0
*^From.*\<(blah#blah\.com|blah2#blah2\.ca)\>
*^Content-Type:*
*^ name.*\.(xls|doc)
*$ ^Date:.*$DATEZ
{
:0fw
| uudeview -p $HOME/Inbound/Received -
:0
| $HOME/Inbound/Start.bash 2> /dev/null
}
Well it pays to read. In the fetchmail manual it explains in detail to use the -U flag. This then only downloads the emails from when you last polled the server.
so the command is:
fetchmail -k -U