hSindhu
asked on
MIME::Lite::TT::HTMLProblem - Unable to see HTML images on the mail client
Hi There,
I am using MIME::Lite::TT::HTML Perl module to send an HTML based email. HTML file contains a header image and footer image and the content within. When I send an email using this module, I can see on the mail client only the text content and not the header and footer images.
- I am sure the images are in the same path as the html files is and as well I tried giving absolute path of images in the HTML file as well. But nothing works.
Can some one guide me on what I need to do so that I can see header and footer images when I see the mail in my mail client ?
Thanks
I am using MIME::Lite::TT::HTML Perl module to send an HTML based email. HTML file contains a header image and footer image and the content within. When I send an email using this module, I can see on the mail client only the text content and not the header and footer images.
- I am sure the images are in the same path as the html files is and as well I tried giving absolute path of images in the HTML file as well. But nothing works.
Can some one guide me on what I need to do so that I can see header and footer images when I see the mail in my mail client ?
Thanks
test.pl
----------
use strict;
use warnings;
use MIME::Lite::TT::HTML;
my %params;
$params{first_name} = 'foo';
$params{last_name} = 'bar';
$params{date} = 'Oct 20, 2008';
my %options;
$options{INCLUDE_PATH} = '/path/to/templates';
my $msg = MIME::Lite::TT::HTML->new(
From => 'x@abc.com',
To => 'y@abc.com',
Cc => 'z@abc.com',
Subject => 'Your recent purchase',
Template => {
#text => 'text.txt',
html => 'test.html',
},
TmplOptions => \%options,
TmplParams => \%params,
);
$msg->attr("content-type" => "multipart/mixed");
# send the email
MIME::Lite->send('smtp', 'smtp.ss.xyz.com', Timeout => 60);
$msg->send;
print "Ok!\n";
------------------------------------------------------------------------
test.html
----------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>SPOT Satellite Messenger</title>
<style type="text/css">
<!--
body,td,th {
font-family:Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333333;
}
body {
margin-left: 0px;
margin-top: 0px;
}
a {
color: #333333;
text-decoration: none;
}
-->
</style>
</head>
<body>
<p><img src="/images/header.jpg" width="719" height="91" /></p>
<blockquote>
<p>Dear [% first_name %],</p>
<p>Thank you for your continued service with X<br />
[% date %]
.</p>
<p>Thank you,</p>
<p>Customer Care<br />
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</blockquote>
<p><img src="/images/footer.jpg" width="720" height="44" border="0" usemap="#Map" />
<map name="Map" id="Map"><area shape="rect" coords="572,14,708,34" href="http://www.xyz.com" />
</map></p>
</body>
</html>
ASKER
Hi Shiva,
I was looking for how we can get the images on the email client using use MIME::Lite::TT::HTML; . Is it that you missed the PERL Code? I am only seeing the HTML template. Please let me know. If possible can you paste the full code snippet.
Thanks
I was looking for how we can get the images on the email client using use MIME::Lite::TT::HTML; . Is it that you missed the PERL Code? I am only seeing the HTML template. Please let me know. If possible can you paste the full code snippet.
Thanks
ASKER
Hi Shiva,
I was looking for how we can get the images on the email client using use MIME::Lite::TT::HTML; . Is it that you missed the PERL Code? I am only seeing the HTML template. Please let me know. If possible can you paste the full code snippet.
Thanks
I was looking for how we can get the images on the email client using use MIME::Lite::TT::HTML; . Is it that you missed the PERL Code? I am only seeing the HTML template. Please let me know. If possible can you paste the full code snippet.
Thanks
Hi hSindhu !
Yes I don't have put the Perl code because I don't have change them. You have two solution. First I think is to attach the image in the mail or choose one full link like http://something.com.
I have give you the second solution.
Now is the first :
test.pl
----------
use strict;
use warnings;
use MIME::Lite::TT::HTML;
my %params;
$params{first_name} = 'foo';
$params{last_name} = 'bar';
$params{date} = 'Oct 20, 2008';
my %options;
$options{INCLUDE_PATH} = '/path/to/templates';
my $msg = MIME::Lite::TT::HTML->new(
From => 'x@abc.com',
To => 'y@abc.com',
Cc => 'z@abc.com',
Subject => 'Your recent purchase',
Template => {
#text => 'text.txt',
html => 'test.html',
},
TmplOptions => \%options,
TmplParams => \%params,
);
$msg->attr("content-type" => "multipart/mixed");
my $header_path = '/images/header.jpg';
my $footer_path = '/images/footer.jpg';
$msg->attach( Type => 'image/jpeg',
Path => $header_path,
Filename => 'header.jpg',
Disposition => 'attachment'
);
$msg->attach( Type => 'image/jpeg',
Path => $footer_path,
Filename => 'footer.jpg',
Disposition => 'attachment'
);
# send the email
MIME::Lite->send('smtp', 'smtp.ss.xyz.com', Timeout => 60);
$msg->send;
print "Ok!\n";
Sorry but i can't try it now. I hope this work.
Best Regards
Yes I don't have put the Perl code because I don't have change them. You have two solution. First I think is to attach the image in the mail or choose one full link like http://something.com.
I have give you the second solution.
Now is the first :
test.pl
----------
use strict;
use warnings;
use MIME::Lite::TT::HTML;
my %params;
$params{first_name} = 'foo';
$params{last_name} = 'bar';
$params{date} = 'Oct 20, 2008';
my %options;
$options{INCLUDE_PATH} = '/path/to/templates';
my $msg = MIME::Lite::TT::HTML->new(
From => 'x@abc.com',
To => 'y@abc.com',
Cc => 'z@abc.com',
Subject => 'Your recent purchase',
Template => {
#text => 'text.txt',
html => 'test.html',
},
TmplOptions => \%options,
TmplParams => \%params,
);
$msg->attr("content-type" => "multipart/mixed");
my $header_path = '/images/header.jpg';
my $footer_path = '/images/footer.jpg';
$msg->attach( Type => 'image/jpeg',
Path => $header_path,
Filename => 'header.jpg',
Disposition => 'attachment'
);
$msg->attach( Type => 'image/jpeg',
Path => $footer_path,
Filename => 'footer.jpg',
Disposition => 'attachment'
);
# send the email
MIME::Lite->send('smtp', 'smtp.ss.xyz.com', Timeout => 60);
$msg->send;
print "Ok!\n";
Sorry but i can't try it now. I hope this work.
Best Regards
ASKER
Hi Shiva,
Let me try this snippet and I will keep you posted if that worked.
Thanks!
Let me try this snippet and I will keep you posted if that worked.
Thanks!
ASKER
Hi Shiva,
I dont wish to give a http path for my image files. I want to give an absolute path like Ex: "/home/sin/test" in the code. I tried to test your code and I dont see the images in the email. I just got the images as an attachment in the email. Can you please paste a working code snippet so that I can test it?
Thanks!
I dont wish to give a http path for my image files. I want to give an absolute path like Ex: "/home/sin/test" in the code. I tried to test your code and I dont see the images in the email. I just got the images as an attachment in the email. Can you please paste a working code snippet so that I can test it?
Thanks!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for your help!
Is one solution :
Tell my it's satisfy to you.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>SPOT Satellite Messenger</title>
<style type="text/css">
<!--
body,td,th {
font-family:Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333333;
}
body {
margin-left: 0px;
margin-top: 0px;
}
a {
color: #333333;
text-decoration: none;
}
-->
</style>
</head>
<body>
<p><img src="http://www.yoursite.com/images/header.jpg" width="719" height="91" /></p>
<blockquote>
<p>Dear [% first_name %],</p>
<p>Thank you for your continued service with X<br />
[% date %]
.</p>
<p>Thank you,</p>
<p>Customer Care<br />
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</blockquote>
<p><img src="http://www.yoursite.com/images/footer.jpg" width="720" height="44" border="0" usemap="#Map" />
<map name="Map" id="Map"><area shape="rect" coords="572,14,708,34" href="http://www.xyz.com" />
</map></p>
</body>
</html>