Solved

Reproducing an html email

Posted on 2014-03-12
8
322 Views
Last Modified: 2014-03-12
I'm running a powershell script that accumulates some reporting data.
Within the current method, is a copy/paste solution from an internal web page.  This copy includes a single image - a graphical represenation of a failure.
I have the link to the image, and if I paste my html code into a file, save it as html, it renders fine.
However, if I do this from within powershell, using the send-mailmessage cmdlet with -bodyashtml, it fails to bring in the image - I get a blank box instead.
How can I reproduce this in my email?
0
Comment
Question by:sirbounty
  • 5
  • 3
8 Comments
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39924210
So let me get this straight:
- you have a dynamic image generated on your web server
- if you create a web page an link to that image, on the same computer, it's displayed
- you're sending that link by email
- when viewing the email, presumably from another location, you get a blank box

Why not just copy the image and attach it to the email? That way the location won't matter any more.

HTH,
Dan
0
 
LVL 67

Author Comment

by:sirbounty
ID: 39924297
Trying to automate a solution here, so manually copying the image won't work.
I've tried including the img locally to the server and pointing to it there (not a web server).
I've also tried pointing the img source to a web server where the image is stored.
If I take my generated html script and paste it into a text file, everything appears as I desire, but sending it via email does not.
0
 
LVL 67

Author Comment

by:sirbounty
ID: 39924300
Actually opening the email, viewing the source, and pasting that info in a test.html file works as well...
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 34

Accepted Solution

by:
Dan Craciun earned 500 total points
ID: 39924331
OK, so the email is OK.
What are you using to view the email? Perhaps the image is blocked at the email client level.

Do you have a web interface for your mail server where you can try to view it?

PS: I was not suggesting copying the image manually. I think you can save it using powershell and then attach it to the email.
0
 
LVL 67

Author Comment

by:sirbounty
ID: 39924376
No, the email is not okay.  The source from the email renders fine if run outside of the email client (Outlook).

I think this is what I need: http://social.technet.microsoft.com/Forums/scriptcenter/en-US/1d9c7094-6991-4027-b7e2-d447d72dfec4/embed-a-background-image-in-a-html-code-sent-via-powershell

I'm just trying to get it working...
0
 
LVL 67

Author Comment

by:sirbounty
ID: 39924482
I've requested that this question be closed as follows:

Accepted answer: 0 points for sirbounty's comment #a39924376

for the following reason:

Sorted it by embedding the method described at http://social.technet.microsoft.com/Forums/scriptcenter/en-US/1d9c7094-6991-4027-b7e2-d447d72dfec4/embed-a-background-image-in-a-html-code-sent-via-powershell


Essentially, the solution is laid out in this example (from the above link). I couldn't get it working with powershell's native send-mailmessage cmdlet, but it did work via the .net import of system.net.mail.mailmessage

#Here is the template for the SMTPClient of dotNet.

$msg=new-object System.Net.Mail.MailMessage
$msg.From='you@home.com'
$msg.to.Add('recip@somewhere.net')
$msg.Subject='test of image'
$msg.IsBodyHtml=$true
$msg.Body='<html><body> Check this out:<br /> <img src="cid:image1"></body></html>'
#images are found byt the 'COntentID-CID' in the body of the message
$att = new-object Net.Mail.Attachment('F:\Projects\My Pictures\Output1.JPG')
$att.ContentDisposition.Inline = $True
$att.ContentDisposition.DispositionType = "Inline"
$att.ContentType.MediaType = "image/jpeg"
$att.ContentId = "image1"
$msg.Attachments.Add($att)

$smtp=new-object System.Net.Mail.SmtpClient
$smtp.host='smtp.myserver.com'
$smtp.Credentials=Get=Credential

$smtp.Send($msg)
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39924408
So you did attach the image to the email :)
0
 
LVL 67

Author Closing Comment

by:sirbounty
ID: 39924483
Sorry!  I totally overlooked your comment there.
Yes, that's what I've done - just had to locate the methods to accomplish this...
Thanks!
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

"Migrate" an SMTP relay receive connector to a new server using info from an old server.
This script can help you clean up your user profile database by comparing profiles to Active Directory users in a particular OU, and removing the profiles that don't match.
In this tutorial viewers will learn how to code links for mobile sites that, once clicked, send a call or text to a specified number. For a telephone link (once clicked, calls a number), begin with a normal "<a href=" link tag. For the href, specify…
In this tutorial viewers will learn how to embed custom externally-hosted Google Fonts using the Google Font API in CSS Go to the Google Fonts website at google.com/fonts: Browse or search based on font properties or name to find a suitable font for…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question