Sponsored Content
Top Forums UNIX for Advanced & Expert Users Sendmail: how to restrict delivery based on "to" or "from"? Post 302569565 by lupin..the..3rd on Monday 31st of October 2011 06:29:56 PM
Old 10-31-2011
Sendmail: how to restrict delivery based on "to" or "from"?

Hello,

I manage a large sendmail server that handles more than 20,000 pieces of mail per day. It's a bit unusual in that all this mail is only being sent to and from 4 local accounts. (It's an automated transaction processing system, whereby users submit a transaction via email attachment). I've got Sendmail configured to use Procmail for local delivery. My Procmail recipe then calls Cyrus Deliver for final message delivery into my Cyrus IMAP database. The four local mail accounts exist only within the Cyrus IMAP database, they are not unix user accounts on the system.

My problem is that Sendmail, when it receives a piece of incoming mail, has no way of determining if it's addressed to a valid account or not. It simply hands the mail to Procmail and lets procmail sort it out. Unfortunately, if someone makes a typo in the destination address, procmail simply drops the mail into a black hole and the person who submitted it never knows what happened!

For example, lets say one of my mail accounts is named Process@mydomain.com. If someone accidentally sends the mail to Lrocess@mydomain.com he does not receive any kind of rejection notice. Sendmail gladly accepts the message, hands it to Procmail for delivery, and then Procmail delivers it into an errors folder.

My understanding is that invalid account rejection should happen at the Sendmail level. How do I implement this in Sendmail? Here is the local delivery portion of my Sendmail.cf file:

# Cyrus Mailer using Procmail
Mprocmail, P=/usr/bin/procmail, F=lsDFMnPqA5@, S=10, R=20/40, T=X-Unix,
U=cyrus:mail,
A=procmail -p /etc/procmail/procmail.global CYRUSUSER=$u


I want Sendmail to call Procmail only for the four valid local accounts. For all other incoming mail, I want Sendmail to automatically bounce it back to the sender with an appropriate "invalid recipient" message.

Does anyone know how to do this? Thank you

Last edited by lupin..the..3rd; 10-31-2011 at 07:35 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

"Join" or "Merge" more than 2 files into single output based on common key (column)

Hi All, I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations: 1. I am restrained to 2 input files only. 2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
Discussion started by: Katabatic
1 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
mail.local(1M)						  System Administration Commands					    mail.local(1M)

NAME
mail.local - store mail in a mailbox SYNOPSIS
/usr/lib/mail.local [-f sender] [-d] recipient DESCRIPTION
mail.local reads the standard input up to an end-of-file and appends it to each user's mail file (mailbox). This program is intended to be used by sendmail(1M) as a mail delivery agent for local mail. It is not a user interface agent. Messages are appended to the user's mail file in the /var/mail directory. The user must be a valid user name. Each delivered mail message in the mailbox is preceded by a "Unix From line" with the following format: From sender_address time_stamp The sender_address is extracted from the SMTP envelope address (the envelope address is specified with the -f option). A trailing blank line is also added to the end of each message. The mail files are locked with a .lock file while mail is appended. The mail files are created with mode 660, owner is set to recipient, and group is set to mail. If the ``biff'' service is returned by get- servbyname(3SOCKET), the biff server is notified of delivered mail. This program also computes the Content-Length: header which will be used by the mailbox reader to mark the message boundary. OPTIONS
The following options are supported: -f sender Specifies the "envelope from address" of the message. This flag is technically optional, but should be used. -d Specifies the recipient of the message. This flag is also optional and is supported here for backward compatibility. That is, mail.local recipient is the same as mail.local -d recipient. -l Turn on LMTP mode. -r from Specify the sender's name (for backward compatibility). -7 Do not advertise 8BITMIME support in LMTP mode. -b Return a permanent error instead of a temporary error if a mailbox exceeds quota. OPERANDS
The following operand is supported: recipient The recipient of the mail message. ENVIRONMENT VARIABLES
TZ Used to set the appropriate time zone on the timestamp. EXIT STATUS
The following exit values are returned: 0 Successful operation. >0 An error occurred. FILES
/tmp/local.XXXXXX temporary files /tmp/lochd.XXXXXX temporary files /var/mail/user_name user's mail file ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsndmu | +-----------------------------+-----------------------------+ SEE ALSO
mail(1), comsat(1M), sendmail(1M), getservbyname(3SOCKET), attributes(5) SunOS 5.10 11 Apr 1997 mail.local(1M)
All times are GMT -4. The time now is 04:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy