Sponsored Content
Operating Systems HP-UX How to attach an excel file in a multipart (mime) mail Post 302338144 by elcampio on Monday 27th of July 2009 06:41:42 AM
Old 07-27-2009
How to attach an excel file in a multipart (mime) mail

Hello.

I need to send mails from hp-ux with 2 attachments: a text file and an excel file. So I'm composing a mime file which I will pipe to sendmail utility.

This works fine if the only attachment is the text file (i use cat command to attach text content). But I have problems with the format when I try to open the sent excel file. I have tried cat, uuencode, od... I've changed the 'encoding' (binary, base64, etc).

My code is like this (progress environment, put is like echo):

put "------------thisss isss aaa boundddaaarrryyy" skip.
put 'Content-Type: text/plain; charset=us-ascii; name="' (p_filename + '"') format "x(30)" skip.
put "Content-Transfer-Encoding: 7bit" skip.
put 'Content-Disposition: attachment; filename="' (p_filename + '"') format "x(30)" skip(1).
unix silent cat value(p_filepath).

put "------------thisss isss aaa boundddaaarrryyy" skip.
put 'Content-Type: application/octet-stream; name="' (p_filename2 + '"') format "x(30)" skip.
put "Content-Transfer-Encoding: base64" skip.
put 'Content-Disposition: attachment; filename="' (p_filename2 + '"') format "x(30)" skip(1).
unix silent uuencode value(p_filepath2) value(p_filepath2).



The output file (mime.txt) is piped to sendmail like this:
par = '-F"' + p_fullname + '" -bm -t -rxxxxx@xxxxx.com'.
unix silent cat ./tmp_cnt_mime.txt | /usr/sbin/sendmail value(par)


Any idea??
Does anyone know another solution??
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to attach a file in mail?

Hi, I want to know how to send a mail in unix using mailx or mail or sendmail to send a mail with a file attached. I have read the answers from the other threads but I still don't understand. I want to do it in the command line as well as in script. Can anyone help? DO I need to use... (1 Reply)
Discussion started by: firebirdonfire
1 Replies

2. Shell Programming and Scripting

How to attach an excel file/ dat file thru unix mails

Hi. I want to attach a .xls or .dat file while sending mail thru unix. I have come across diff attachments sending options, but allthose embeds the content in the mail. I want the attachement to be send as such. Please help me out. regards Diwakar (1 Reply)
Discussion started by: diwakar82
1 Replies

3. Shell Programming and Scripting

Need to attach a txt file while sending mail

Hi, I need to attach a txt file while sending mail thru Unix. Please help me out in this.. -Charan. (9 Replies)
Discussion started by: charan81
9 Replies

4. Shell Programming and Scripting

How to attach a file & send mail thru script

In shell script how can I attach a file and send a mail. suppose if I written like the following way usr/bin/mail 'subject" "mail_id" < file. a mail goes to the mail-id with the content of file.But I want the file to be atttached to the mail.How can I get it.is there any way for this. ... (9 Replies)
Discussion started by: Mar1006
9 Replies

5. Shell Programming and Scripting

How to attach a file in Linux mail command

How to attach a file in Linux mail command Hi Guys, Is there any way to attach a file in Linux mail command without using "uuencode"? i.e. Code: file=/a/b/c/d/file.txtmail -s "Giga aks" abc@123.com <<HDoc`uuencode $file $file 2>/dev/null`HDoc Here, I don;t want to use 'uuencode'... (1 Reply)
Discussion started by: rohit22hamirpur
1 Replies

6. Shell Programming and Scripting

Script to attach file to mail

Hello, I have a .dat file containing one line. I need a script to read that line and make it part of the body and send a mail... Let's say the line is $line. I need the script to send a mail with the body "The last disposal feed is $line". Thanks (4 Replies)
Discussion started by: sfetea
4 Replies

7. Shell Programming and Scripting

MIME - HTML mail with Excel attachment - Please help!

#!/bin/ksh ( echo "MIME-Version: 1.0" echo "Content-Type: multipart/mixed; boundary=frontier" echo "--frontier" echo "Content-Type: text/html" echo "Content-Disposition: inline" echo "\n" echo "<html><body><h1>this is html formatted text</h1></body></html>" echo "--frontier" echo... (1 Reply)
Discussion started by: thulasidharan2k
1 Replies

8. Shell Programming and Scripting

How to attach multiple file to send mail command

Hi, i want color effect on mail as well as multiple attachment.I have code but this code is used for single attachment. I am unable to attach more than one file.:wall: I want to send two attachments -ahmed.csv and ahmed1.csv . Sample content: <html> <body> <b> Hi...</b> </body> </html> ... (1 Reply)
Discussion started by: AhmedLakadkutta
1 Replies

9. Shell Programming and Scripting

UNIX - how to send attach excel in mail

Hi Experts, i need your help here :confused: Need to send a report thru mail using unix shell script(AIX). can you help me to do this? . i tried "uuencode" with CSV format, but while reading report all values are in single column. i need each column values in separate cell. Thanks in... (9 Replies)
Discussion started by: newbieabc
9 Replies

10. Shell Programming and Scripting

Construct and Send Multipart MIME Mail

Hi, I have requirment in shell script to incorporate multipart email with both html and text. Here am giving the text version. From: any@email.com To: your@email.com Subject: Success Execution - $company - Apps PO File Report Apps PO File Report Summary: #APPS Purchase... (2 Replies)
Discussion started by: kirankumar
2 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 04:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy