Sponsored Content
Top Forums Shell Programming and Scripting How can i send mail to multiple addresses in same domain in bash? Post 302311251 by lavascript on Tuesday 28th of April 2009 09:32:31 AM
Old 04-28-2009
A really dirty solution but will get you going is :-

Code:
#!/bin/bash

file="inputfile"
domain="blahblah.com"

for local in $(awk '{print $1}' <$file)
do
        address_list="$address_list $local@$domain"
done

echo "address list is [$address_list]"

echo "Hello this is body of the email" | mailx -s "Subject" $address_list

Obviously that doesn't do any variable checking or anything.

If you want to code it with checks you may find this reg ex useful i spent ages doing the other day to validate a space separated email list. Just be aware its not totally rfc compliant as only accepts -_ as special characters and not the full range you should.

Code:
if [ -n $(echo $address_list | awk '/^(\ )*([A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*@([A-Za-z0-9_-]+\.)+[A-Za-z]+((\ )+[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*@([A-Za-z0-9_-]+\.)+[A-Za-z]+)*)(\ )*$/ {print}')" ];then
       # Valid email list
       mailx -s "subject" $address_list < ./email_contents
else
       # Email list problem
       echo "WARNING: Email address list problem [ $address_list ]"
       ....other stuff....
fi

 

10 More Discussions You Might Find Interesting

1. AIX

Not able to send out multiple file in mail

Hi All, I have AIX 5.3 server. I am not able to transfer multiple file in mail but I can send one file at a time. the following command I am using to send multiple file mail -s 'PICS EXP RATE Logs' lger@nd.com < /data02/transfer/*_experience_rate_log.txt but this not working. i can send... (2 Replies)
Discussion started by: vishalpatel03
2 Replies

2. UNIX for Dummies Questions & Answers

[SOLVED] Command line mail taking too long to send; unable to qualify my own domain name

Hello, I'm having a problem with my mail. When I send mail, it takes a long time for the send to complete. In the below, datestamp is just a simple script to put in a no-white-space date/time stamp. $ datestamp ; mail woodnt; datestamp 02-05-10@193844 Subject: test timer Cc: ... (0 Replies)
Discussion started by: Narnie
0 Replies

3. Shell Programming and Scripting

bash, ssh and expect to multiple ip addresses

Hi, I need script that will allow me to connect to multiple clients using ssh on Ubuntu terminal... I have a txt file with the ip addresses of clients, i need a script that will connect to everyone one by one and send some commands... The idea is to check some settings on every client... (2 Replies)
Discussion started by: marko07
2 Replies

4. Shell Programming and Scripting

Echo - Sending mail to multiple addresses

Hi, If I want my script to send a mail to multiple recipients I can do the following: if then echo $err_string1 | mailx -s "UAT CPU ALERT" 1@email.com echo $err_string1 | mailx -s "UAT CPU ALERT" 2@email.com fi Can this also be done something like: ... (1 Reply)
Discussion started by: runnerpaul
1 Replies

5. AIX

I Need to send mail to 2 domain

Hi, I need to send alert mail from AIX to mail server. My mail server IP is 192.168.0.10 so I've add /etc/hosts as below 192.168.0.10 mydomain1.com the I try to send mail to myname@mydomain1.com it's OK Then I need to send mail to myname@mydomain2.com too. so I've... (1 Reply)
Discussion started by: oakmojo
1 Replies

6. Shell Programming and Scripting

Perl - match e-mail addresses in multiple files

Hi, I'm trying to write a script that will check multiple files in a directory (all the relevant filenames begin "TT04.NOTES") for e-mail addresses, and then print these addresses to screen with a count at the bottom. I'm a bit of a novice with Perl but thought it would be the best tool for the... (2 Replies)
Discussion started by: wf1974
2 Replies

7. Red Hat

How to send mail with multiple attachments?

We don't have uuencode installed in our machines..... Please tell me how to send mail with multiple attachments ??? URGENT !!!!! Please tell me using command line (or) scripts.......... please...... Thanks in Advance.... (1 Reply)
Discussion started by: vamshigvk475
1 Replies

8. Shell Programming and Scripting

Send a mail to multiple users

I have a file 1.txt which has 3 mail ids as below: Maillist=abc@gmail.com def@gmail.com rcg@gmail.com Now I want to write a script which will read this file and send the mail to all the users present in this file. (6 Replies)
Discussion started by: Vivekit82
6 Replies

9. UNIX for Dummies Questions & Answers

Configure sendmail to Only send mail to one domain

On both Solaris 10 and RHEL, we would like to configure sendmail in such a way that the email sent from the server should only go to a particular domain. For eg. We want our server to ONLY send the mail to <user_name>@abc.com. All other domains should be blocked/restricted. The server should not... (0 Replies)
Discussion started by: sk2code
0 Replies

10. UNIX for Beginners Questions & Answers

Bold text in Bash and send mail

I have a sample script here I want to bold the word BOLD in the text and send through email. Tried several ways but not seems to working. BODY="Hello. I want to BOLD this" { echo "From: from@gmail.com" echo "To: to@gmail.com" echo "Subject: Texting" ... (1 Reply)
Discussion started by: lpoolfc
1 Replies
TESTMXLOOKUP(1) 					      Double Precision, Inc.						   TESTMXLOOKUP(1)

NAME
testmxlookup - Look up mail relays for a domain SYNOPSIS
testmxlookup [@ip-address] [--dnssec] [--udpsize n] {domain} DESCRIPTION
testmxlookup lists the names and IP addresses of mail relays that receive mail for the domain. This is useful in diagnosing mail delivery problems. testmxlookup sends a DNS MX query for the specified domain, followed by A/AAAA queries, if needed. testmxlookup lists the hostname and the IP address of every mail relay, and its MX priority. DIAGNOSTICS The error message "Hard error" indicates that the domain does not exist, or does not have any mail relays. The error message "Soft error" indicates a temporary error condition (usually a network failure of some sorts, or the local DNS server is down). OPTIONS @ip-address Specify the DNS server's IP address, where to send the DNS query to, overriding the default DNS server addresses read from /etc/resolv.conf. "ip-address" must be a literal, numeric, IP address. --dnssec Enable the DNSSEC extension. If the DNS server has DNSSEC enabled, and the specified domain's DNS records are signed, the list of IP addresses is suffixed by "(DNSSEC)", indicating a signed response. This is a diagnostic option. Older DNS servers may respond with an error, to a DNSSEC query. --udpsize n Specify that n is the largest UDP packet size that the DNS server may send. This option is only valid together with "--dnssec". If "--dnssec" always returns an error, try "--udpsize 512" (the default setting is 1280 bytes, which is adequate for Ethernet, but other kinds of networks may impose lower limits). SEE ALSO
courier(8)[1], RFC 1035[2]. AUTHOR
Sam Varshavchik Author NOTES
1. courier(8) [set $man.base.url.for.relative.links]/courier.html 2. RFC 1035 http://www.rfc-editor.org/rfc/rfc1035.txt Courier Mail Server 11/18/2011 TESTMXLOOKUP(1)
All times are GMT -4. The time now is 07:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy