Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Email sending through a shell script Post 302143156 by memonks on Tuesday 30th of October 2007 08:46:58 PM
Old 10-30-2007
Email sending through a shell script

Hi everyone,
I have a shell script that I use to send some emails with attachments. Based on the attachment file that is being sent, I choose the recipient.

My file_list.txt looks like this

CAJ.txt;sm@email.com
KXLD.txt;jc@email.com

I do a grep on this file to look for the file name and extract the second field and store it in another variable as below.

email_dest= grep $FILENAME file_list.txt|cut -d ";" -f 2;

When I echo this variable it gives me the correct email address.

However when I try to send the email using this variable using the syntax,

mailx -s $FILENAME $email_dest
or mailx -s $FILENAME ${email_dest}

I get the following error message-

The flags you gave are used only when sending mail.
Usage: mailx -eiIUdFntBNHvV~ -T FILE -u USER -h hops -r address
-s SUBJECT -f FILE users

When I replace the variable with the email address, it sends the emails correctly. I have a feeling there might be a line feed character somewhere that is causing an issue but not sure how I can get rid of it.

Can anyone provide inputs as to how I can work around this or any other solution that would be more efficient. Thanks!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sending email from KSH unix script.

Hi Need guidance on including code to mail a couple of files atached with some subject and mail body !!.. Thanks in advance (3 Replies)
Discussion started by: rosh0623
3 Replies

2. Shell Programming and Scripting

Sending attachments using email through shell script

Hi all, I have written a shell script which sends emails with attachments to our clients. All our attachments are simple flat files (.txt format). The script is working fine and sending the attachments to the mail-ids except that, when i am sending the attachments to non-outlook users (Like... (6 Replies)
Discussion started by: symhonian
6 Replies

3. Shell Programming and Scripting

Running a shell script in cron...email not sending - help??

I am pretty new to Unix shell scripting, but wondered if anyone could help (in layman's terms if possible!!) :) I have a shell script which ultimately sends an alert to an email address if part of a batch of programs fails. Here's the script that sends the email: Script: 6check.csh... (8 Replies)
Discussion started by: tjhorwood
8 Replies

4. Shell Programming and Scripting

sending email from a ksh script

hi all, i have a ksh script which is meant to send an email with an attachment. i use the following command to send email /usr/bin/uuencode $logFn $logFn | /usr/bin/mail -s "restoration results" $EMAILTO; where '$logFn' is the name of the file including the full path e.g... (0 Replies)
Discussion started by: cesarNZ
0 Replies

5. Shell Programming and Scripting

Shell script for sending automatic email to personal mail id

hi guys, I need a shell script to send mail automatically to my personal mail id like xxxx@hotmail.com but while experimenting with "mail" command I faced following problems. cat text1.txt | mail -s 'test mail' xxxx@hotmail.com command successfully executed but while checking for... (4 Replies)
Discussion started by: rrd1986
4 Replies

6. Shell Programming and Scripting

Configure gmail in linux shell for sending email

Hello, i have a problem sending emails in the command line. I have introduced this command: sendEmail -f my.account@gmail.com -t myself@domain.tld \ -u this is the test tile -m “this is a test message” \ -s smtp.gmail.com \ -o tls=yes \ -xu usernameonly -xp mypasswd but then i received... (1 Reply)
Discussion started by: limadario
1 Replies

7. Shell Programming and Scripting

Sending email from shell script

Hi, I need to send email from a shell script. i echoed some information to a file and i am doing cat command in the email syntax thanks (2 Replies)
Discussion started by: rocky1954
2 Replies

8. AIX

Sending script output as email

Hi i have a script which executes daily through cron. The output of the script is appended to a log file everyday It also emails me the output of the logfile as we have the mailx command in the script The below is my requirement : Normally When I get the email it sends the entire content... (3 Replies)
Discussion started by: newtoaixos
3 Replies

9. Shell Programming and Scripting

Using top command to email if process is exceeding 25% and sending an email alert if so

This is my first time writing a script and Im having some trouble, Im trying to use the top command to monitor processes and the amount of CPU usage they require, my aim is to get an email if a process takes over a certain percentage of CPU usage I tried grep Obviosly that hasnt worked, Any... (8 Replies)
Discussion started by: jay02
8 Replies

10. Shell Programming and Scripting

Sending email in shell script

Can anyone help me out how to send the email without the word success while sending to the recipient. echo "success" | mailx -s "webshell instance has been started noiw" implementation@tkcl.com (8 Replies)
Discussion started by: ramkumar15
8 Replies
Courriel::Builder(3pm)					User Contributed Perl Documentation				    Courriel::Builder(3pm)

NAME
Courriel::Builder - Build emails with sugar VERSION
version 0.29 SYNOPSIS
use Courriel::Builder; my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), header( 'X-Generator' => 'MyApp' ), plain_body($plain_text), html_body( $html, attach('path/to/image.jpg'), attach('path/to/other-image.jpg'), ), attach('path/to/spreadsheet.xls'), attach($file_content), ); DESCRIPTION
This module provides some sugar syntax for emails of all shapes sizes, from simple emails with a plain text body to emails with both plain and html bodies, html with attached images, etc. API
This module exports all of the following functions by default. It uses Sub::Exporter under the hood, which means you can easily import the functions with different names. See Sub::Exporter for details. build_email( ... ) This function returns a new Courriel object. It takes the results of all the other functions you call as input. It expects you to pass in a body of some sort, whether text, html, or both, and will throw an error if you don't. It will add Date and Message-ID headers to your email if you don't provide them, ensuring that the email is RFC-compliant. subject($subject) This sets the subject of the email. It expects a single string. You can pass an empty string, but not "undef". from($from) This sets the From header of the email. It expects a single string or Email::Address object. to($from) This sets the To header of the email. It expects a list of string and/or Email::Address objects. cc($from) This sets the Cc header of the email. It expects a list of string and/or Email::Address objects. bcc($from) This sets the Bcc header of the email. It expects a list of string and/or Email::Address objects. header( $name => $value ) This sets a header's value. You can call it as many times as you want, and you can call it more than once with the same header name to set multiple values for that header. plain_body( ... ) This defines a plain text body for the email. You can call it with a single argument, a scalar or reference to a scalar. This creates a text/plain part based on the content you provide in that argument. By default, the charset for the body is UTF-8 and the encoding is base64. You can also call this function with a hash of options. It accepts the following options: o content The content of the body. This can be a string or scalar reference. o charset The charset for the body. This defaults to UTF-8. o encoding The encoding for the body. This defaults to base64. Other valid values are quoted-printable, 7bit, and 8bit. It is strongly recommended that you let Courriel handle the transfer encoding for you. html_body( ... ) This accepts the same arguments as the "plain_body()" function. You can also pass in the results of one or more calls to the "attach()" function. If you pass in attachments, it creates a multipart/related email part, which lets you refer to images by the Content-ID using the "cid:" URL scheme. attach( ... ) This function creates an attachment for the email. In the simplest form, you can pass it a single argument, which should be a path to a file on disk. This file will be attached to the email. You can also pass a hash of options. The valid keys are: o file The file to attach to the email. You can also pass the content explicitly. o content The content of the attachment. This can be a string or scalar reference. o filename You can set the filename that will be used in the attachment's Content-Disposition header. If you pass a "file" parameter, that will be used when this isn't provided. If you pass as "content" parameter, then there will be no filename set for the attachment unless you pass a "filename" parameter as well. o mime_type You can explicitly set the mime type for the attachment. If you don't, this function will use File::LibMagic to try to figure out the mime type for the attachment. o content_id This will set the Content-ID header for the attachment. If you're creating a HTML body with "cid:" scheme URLs, you'll need to set this for each attachment that the HTML body refers to. The id will be wrapped in angle brackets ("<id-goes-here>") when set as a header. COOKBOOK
Some examples of how to build different types of emails. Simple Email With Plain Text Body my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), plain_body($plain_text), ); This creates an email with a single text/plain part. Simple Email With HTML Body my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), html_body($html_text), ); This creates an email with a single text/html part. Email With Both Plain and HTML Bodies my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), plain_body($plain_text), html_body($html_text), ); This creates an email with this structure: multipart/alternative | |-- text/plain (disposition = inline) |-- text/html (disposition = inline) Email With Both Plain and HTML Bodies and Inline Images my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), plain_body($plain_text), html_body( $html_text, attach( file => 'path/to/image1.jpg', cid => 'image1', ), attach( file => 'path/to/image2.jpg', cid => 'image2', ), ), ); This creates an email with this structure: multipart/alternative | |-- text/plain (disposition = inline) |-- multipart/related | |-- text/html (disposition = inline) |-- image/jpeg (disposition = attachment, Content-ID = image1) |-- image/jpeg (disposition = attachment, Content-ID = image2) Email With Both Plain and HTML Bodies and Attachments my $email = build_email( subject('An email for you'), from('joe@example.com'), to( 'jane@example.com', 'alice@example.com' ), plain_body($plain_text), html_body( $html_text, ), attach('path/to/spreadsheet.xls'), attach( content => $png_image_content ), ); multipart/mixed | |-- multipart/alternative | | | |-- text/plain (disposition = inline) | |-- text/html (disposition = inline) | |-- application/vnd.ms-excel (disposition = attachment) |-- image/png (disposition = attachment) AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) perl v5.14.2 2012-03-07 Courriel::Builder(3pm)
All times are GMT -4. The time now is 10:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy