Does sendmail command returns any errors if we use wrong email id with correct e-mail id pattern?
If it is not how to identify if e-mail is delievered?
Yes Nitin, unix does give an output if the email remains undelivered. you can check in /var/spool/mail/home_dir
For example
mailx correct_addr#domain.com -s "Success Tested" correct_addr#domain.com < /tmp/dileep/test.txt
correct_addr#server:
you will see the prompt back to you, else look below
mailx correct_addr#domain.com -s "Success Tested" wrong_addr#domain.com < /tmp/dileep/test.txt
You have mail in /var/spool/mail/home_dir
correct_addr#server:
you can go and check the error message, if you would like to check or automate, you can monitor the home_dir for any mail delivery failures and send one email to you will all the details attached to the email and find out the wrong addresses.
NOTE: This works the same way for To and From addresses as well.
Related
I have to send mail to multiple recipients using Perl. I have to use Net::SMTP only to send mail.
I have to read from and to mail address from pipe separated file. Format of file is as follows:
abc#gmail.com|pqr#yahoo.com,xyz#gmail.com
I have read the line and split it wrt to pipe. Then I stored to part in $mailT
I tried using
smtp->recipient($mailT)
and
smtp->datasend("To: $mailT ");
but this is not working.
It gives the error:
Issue RCTP to in the command
Net::SMTP:
recipient ( ADDRESS [, ADDRESS, [...]] [, OPTIONS ] )
Notify the server that the current message should be sent to all of the addresses given. Each address is sent as a separate command to the server. Should the sending of any address result in a failure then the process is aborted and a false value is returned. It is up to the user to call reset if they so desire.
I couldn't identify how your code set $mailT but
the argument of recipient must be in an array or a list.
That could be an issue if that's a comma separated scalar.
This mail will be sent with a line of "." However,if i want to set a line of "." in my body mail, how can i do?
telnet 192.168.1.1 25
HELO felix
MAIL FROM: <user#host.examplex.com>
RCPT TO: <user#host.examplex.com>
DATA
From: "support" <support#felix.cn>
To: <jqye#felix.cn>
Subject: Test mail
Test mail
Body of email
End
.
QUIT
The easy way is 'Dot followed by space'.
Every time a line starts with a dot, you should actually send two dots.
eg.:
..
Should give you the desired result: A single dot.
The server would then remove the first dot.
This is also known as 'dot-stuffing' (try looking it up).
See also SMTP dot stuffing - who does it and who removes it
I am sending mail in Postfix through a filter, where Altermime applies a signature. I'd like to attach an image to the mail, so i can use html (applied by Altermime) that displays the attached image, eg:
<img src="cid:pic.jpg" />
How can I attach a file to the email when using a bash filter?
I have tried piping it with uuenview at the end of the filter to postfix, but it does nothing:
uuenview /path/to/pic.jpg | $SENDMAIL -i "$#" <in.$$
I'm using the filter method as described in: http://www.postfix.org/FILTER_README.html
OK, I realize it is not as easy as piping uuenview to the mail. Emails are broken up with boundaries.
So instead I will work on getting AddAttachFilter working: http://sourceforge.net/projects/addattachfilter/files/
I have had a little bit success so far this morning with it.
I'm using getmail + maildrop + mutt + msmtp chain with messages stored in Maildir. Very big inbox bothers me, so i wanted to organize mail by date like that:
Maildir
|-2010.11->all messages with "Date: *, * Nov 2010 *"
|-2010.12->same as above...
|-2011.01
`-2011.02
I've googled much and read about mailfilter language, but still it is hard for me to write such filter. Maildrop's mailing list archives has almost nothing on this (as far as i scanned through it). There is some semi-solution on https://unix.stackexchange.com/questions/3092/organize-email-by-date-using-procmail-or-maildrop, but i don't like it, because i want to use "Date:" header and i want to sort by month like "YEAR.MONTH" in digits.
Any help, thoughts, links, materials will be appreciated.
Using mostly man pages, I came up with the following solution for use on Ubuntu 10.04. Create a mailfilter file called, for example, mailfilter-archive with the following content:
DEFAULT="$HOME/mail-archive"
MAILDIR="$DEFAULT"
# Uncomment the following to get logging output
#logfile $HOME/tmp/maildrop-archive.log
# Create maildir folder if it does not exist
`[ -d $DEFAULT ] || maildirmake $DEFAULT`
if (/^date:\s+(.+)$/)
{
datefile=`date -d "$MATCH1" +%Y-%m`
to $DEFAULT/$datefile
}
# In case the message is missing a date header, send it to a default mail file
to $DEFAULT/inbox
This uses the date command, taking the date header content as input (assuming it is in RFC-2822 format) and producing a formatted date to use as the mail file name.
Then execute the following on existing mail files to archive your messages:
cat mail1 mail2 mail3 mail4 | reformail -s maildrop mailfilter-archive
If the mail-archive contents look good, you could remove the mail1, mail2, mail3, mail4, etc. mail files.
as im using different email clients to read/send my mails i want to setup procmail to move my emails to a the folder which is normally done by Thunderbird filter feature.
I know that i can do it by using the following code for procmail in my email users .procmailrc file:
:0:
* ^From:.test#host.name.com
myfolder
But i have a list of about 50 email adresses which i would like to move to that specific "myfolder".
So by using
:0:
* ^From:.first#mail.com
* ^From:.second#mail.com
jimsmail
doesnt help, because procmail interprets them by using the AND operater. So the code above would be true if From is first#... AND second#..., which will never be true.
So how do i use the OR operator.
Actually i have a simple text file where all email adresses are.
Would be cool to have a feature where procmail ready in that file and checks if From matches with at least one of the lines in the file, the moves email to "myfolder".
Something like
:0:
* ^From:file(email.txt)
myfolder
Does anybode if this or something similar is possible.
I dont want to add these 3 lines 50 times in my procmailrc file.
Procmail uses regexps, so you can separate addresses with the | character.
:0:
* ^From:.((first|second|third)#mail.com|(fourth|fifth)#othermail.com)
myfolder
would work. Could get a little messy with fifty all on one line, mind...
I found the solution.
With this solution im able to use a simple email text file holding all email addresses in each in one line.
The code in my .procmailrc is as follows:
EMAILFILE=/path/to/my/emailfile
FROM=`formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
:0
* ? fgrep -qxis $FROM $EMAILFILE
myfolder