Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Reproducing an html email

Posted on 2014-03-12
8
Medium Priority
?
337 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 35

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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 35

Accepted Solution

by:
Dan Craciun earned 2000 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 35

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

Fill in the form and get your FREE NFR key NOW!

Veeam® is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

Question has a verified solution.

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

A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
Previously, on our Nano Server Deployment series, we've created a new nano server image and deployed it on a physical server in part 2. Now we will go through configuration.
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …

636 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