Sponsored Content
Top Forums Shell Programming and Scripting Creating a multi-recipient email script Post 46991 by TheSunTheSea on Saturday 31st of January 2004 12:18:06 AM
Old 01-31-2004
Creating a multi-recipient email script

Well, I'm fairly new to shell scripting, so please excuse my newbieness Smilie

I was wondering if it was possible to create a shell script that retrieves a list of recipients in a list_file and sends a message out all at once?

An example of a list file would look similar to this:

$ cat data/list_file
user1@host_xyz nickname1
user2@host_abc nickname2
..... ......
userN@host_N nicknameN

As for the message file being emailed, I would LOVE to have it personalized in this fashion for my site:

To {NICKNAME}:

We appreciate your registration to the RSG board. Here are you authorization credentials:

username: {EMAIL}
password: {PASSWORD}

Your RSG account will expire on: {EXPIRATION_DATE}

Cheers,

System Admin

Now, I've only been playing around with shell scripts for a few days, but I know I can use "mkpasswd" to create a password for the user and "date" to calculate the expiration date (which is exactly one year after the email is sent). I'm also assuming that I can use "sed" to substitute the correct fields, correct?

Well, I really don't know how to begin on this. I think it would be great for my site if I can implement something like this. I'd much rather stick to this shell scripting idea since I haven't really touched on it before.

If anyone has some code I can look at or tips to give me, I would greatly appreciate it.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Unknown recipient when using metasend

Hi, We use metasend to send e-mail from our app. This works fine with most kinds of mail, for example plain text, HTML with images and mail with attachments. But we still have one problem: If the to-address is misspelled, then still everything seems to be fine. We don't get any message back... (4 Replies)
Discussion started by: sjohnsen
4 Replies

2. Shell Programming and Scripting

creating email based on an output

Hello folks. I need to create a script that looks at a certain output (list of full paths of files) and gets the owner's name (2nd position in the path, for example: /dirA/jsmith/blah1/more_blah/still_blah... etc) Gets the jsmith and greps the related file for jsmith and send that output to... (1 Reply)
Discussion started by: saswerks
1 Replies

3. UNIX for Dummies Questions & Answers

Email recipient problems with uuencode attachments

Most of my email attachments are fine, but some recipients get the email with the uuencode attachment included as "text" at the end of the body of the message. Has anybody seen this? It seems to happen most with yahoo, msn and other freebie email addresses. Thanks (1 Reply)
Discussion started by: Dave Miller
1 Replies

4. Programming

Creating email account prgramatically + java ?

Dear Friend, I am working on java application which requires that after successful registration an email account is created (say username@mydomain.com) for user. Is is possible to create e-mail account programatically ? Enviornment - CentOs, Tomcat Web server. CPanel is available, but... (0 Replies)
Discussion started by: reckless_jack
0 Replies

5. Shell Programming and Scripting

help needed with creating challenging bash script with creating directories

Hi, Can someone help me with creating a bash shell script. I need to create a script that gets a positive number n as an argument. The script must create n directories in the current directory with names like map_1, map_2 etcetera. Each directory must be contained within its predecessor. So... (7 Replies)
Discussion started by: I-1
7 Replies

6. Shell Programming and Scripting

Mailx Recipient and Name Script

Hi To All, I have a file with email addresses, most of which have names associated with them, it looks like this: http://img230.imageshack.us/img230/8255/94731317.th.jpg I am trying to come up with a script to use mailx (or anything else really) to send an email to... (4 Replies)
Discussion started by: slicker
4 Replies

7. Shell Programming and Scripting

Send email recipient based on filename

Hi All can someone help please create a bash script. Here's a scenario: 1. I have a directory where it's a destination for scanned documents. e.g. /dest/scan 2. The filename is in the form IDNumber_Category. e.g. 123456_notes.pdf 3. The first part of the script is to rename the... (1 Reply)
Discussion started by: aemestech
1 Replies

8. Shell Programming and Scripting

sendmail script throwing an error "No recipient addresses found in header"

Hi, I am using following code to send an e-mail with attachment and body. echo "To: user1@mail.com,user2@mail.com" > mail.tmp echo "Cc: user3@mail.com,user4@mail.com" >> mail.tmp echo "From: group@mail.com" >> mail.tmp echo "Subject: my report" >> mail.tmp echo "please see as attached"... (6 Replies)
Discussion started by: vivek_damodaran
6 Replies

9. Shell Programming and Scripting

How to substract selective values in multi row, multi column file (using awk or sed?)

Hi, I have a problem where I need to make this input: nameRow1a,text1a,text2a,floatValue1a,FloatValue2a,...,floatValue140a nameRow1b,text1b,text2b,floatValue1b,FloatValue2b,...,floatValue140b look like this output: nameRow1a,text1b,text2a,(floatValue1a - floatValue1b),(floatValue2a -... (4 Replies)
Discussion started by: nricardo
4 Replies

10. Solaris

Send multi content email using sendemail utility

Hi Guys, I am trying to send email from solaris server using sendemail utility. I want to send multi content email. For example, i want to send email body with html file and a attachment of txt file. I using below code but the html not render correctly in email body. ( echo "To:... (2 Replies)
Discussion started by: tharmendran
2 Replies
usermod(3pm)						User Contributed Perl Documentation					      usermod(3pm)

NAME
Linux::usermod - modify user and group accounts SYNOPSIS
use Linux::usermod; $user = Linux::usermod->new(username); $grp = Linux::usermod->new(groupname, 1); $user->get(gid); # equal to $user->get(3); $user->get(uid); # equal to $user->get(2); $grp->get(gid); # equal to $user->get(2); $grp->get(users);# equal to $user->get(3); #lock and unlock user account $user->lock(); $user->unlock(); #get password(passwd file) $user->get(ppassword); #get encoded password(shadow file) $user->get(password); #set encoded password $user->set(password); $grp->set(password); #set shell / group administrator $user->set(shell); $grp->set(ga); #set group users @users = qw(user1 user2); $grp->set(users, "@users"); Linux::usermod->add(username); #or Linux::usermod->add(username, password, uid, gid, comment, home, shell); #where the password goes in shadow file and gid becomes #equal to uid unless specified and uid is becoming the #first unreserved number after 1000 unless specified #or @users = qw(user1 user2 user3); Linux::usermod->grpadd(groupname, gid, "@users") #where the password goes in gshadow file and gid becomes #equal to the second argument or the first unreserved number #after 100 #delete user/group Linux::usermod->del(username); Linux::usermod->grpdel(groupname); #all fields are returned from the class methods fields/gfields print $user->get($_) for (Linux::usermod->fields); print $grp->get($_) for (Linux::usermod->gfields); #set working passwd and shadow files #$Linux::usermod::file_passwd = "./my_passwd"; #$Linux::usermod::file_shadow = "./my_shadow"; #$Linux::usermod::file_group = "./my_group"; #$Linux::usermod::file_gshadow= "./my_gshadow"; DESCRIPTION
This module adds, removes and modify user and group accounts according to the passwd and shadow files syntax (like struct passwd from pwd.h). It is not necessary those accounts to be system as long as $Linux::usermod::file_passwd, $Linux::usermod::file_shadow, $Linux::usermod::file_group, $Linux::usermod::file_gshadow are not in "/etc" directory. METHODS
new Linux::usermod->new(username) Linux::usermod->new(grpname, 1) If group object second 'true' argument must be given add (username, ...) Class method - add new user account; arguments are optional, except username; they may be (username, password, uid, gid, comment, home, shell) del (username) Class method - removes user account tobsd converts user fields in shadow / master.passwd file to bsd style get if used with user object returns one of the following fields: 'name' or 0 The user's name 'ppassword' or 1 The "passwd" file password 'uid' or 2 The user's id 'gid' or 3 The user's group id 'comment' or 4 The comment about the user (real username) 'home' or 5 The user's home directory 'shell' or 6 The user's shell 'sname' or 7 The user's name in shadow file 'password' or 8 The 13-character encoded password 'lastchg' or 9 The number of days since January 1, 1970 of the last password changed date 'min' or 10 The minimum number of days required between password changes 'max' or 11 The maximum number of days the password is valid 'warn' or 12 The number of days before expiring the password that the user is warned 'inactive' or 13 The number of days of inactivity allowed for the user 'expire' or 14 The number of days since January 1, 1970 that account is disabled 'flag' or 15 Currently not used if used with group object returns one of the following fields: 'name' or 0 The group name 'ppassword' or 1 The group password 'gid' or 2 The group id number 'users' or 3 The group members (users) 'sname' or 4 The group name in gshadow file (the same as 'name') 'password' or 5 The encrypted group password 'ga' or 6 The group administrators 'gu' or 7 The group members (users) (the same as 'users') argument can be either string or number set (field) set a field which must be string of characters: @user_fields = Linux::usermod->fields; #user fields @group_fields = Linux::usermod->gfields; #group fields grpadd (groupname) grpdel (groupname) lock (username) Lock user account (puts '!' at the beginning of the encoded password) unlock (username) Unlock user account (removes '!' from the beginning of the encoded password) users Class method - return hash which keys are all users, taken from $file_passwd grps Class method - return hash which keys are all groups, taken from $file_group FILES
/etc/passwd /etc/shadow /etc/group /etc/gshadow unless given your own passwd, shadow, group, gshadow files which must be created TO DO
Groups and user accounts consistency checks SEE ALSO
getpwent(3), getpwnam(3), usermod(8), passwd(1), gpasswd(1) BUGS
None known. Report any to author. AUTHOR
Vidul Petrov, vidul@abv.bg (C) 2004 Vidul Petrov. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.8.8 2008-01-11 usermod(3pm)
All times are GMT -4. The time now is 09:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy