PDA

View Full Version : html in email and attachment


mhouge
02-11-2004, 05:54 PM
I'm hoping for a bit of assistance...

In setting up an email for a failed build, I've come across some quirky behavior. My plan was to include an html formatted email message providing a link to the build log, along with that same build log as an .html attachment.

If I set up the email to have a plain text message along with the .html file attached, everything works fine. Likewise, if I send a message with html formatting, but no .html file attachment, the html formatting works fine. When I include both the html formatted message and the .html attachment, I get the .html attachment, but the html formatted message displays the html code instead of the formatted message.

Any ideas?

Thanks,
Mark

kevina
02-12-2004, 03:07 PM
I generated a similar test email and it was displayed properly with Outlook Express 6. I didn't check other email client applications. I guess it depends on what email client you are using (and how they handle different mime encodings, etc).

Kevin

mhouge
02-19-2004, 10:00 AM
Thanks for your reply. I'm currently using Outlook 2003. I've sent it to a few different web-based email clients as well, the outcome is the same.

Any additional thoughts?

kinook
03-04-2004, 10:30 AM
Try it with this patch (extract to your VisBuildPro install path): http://www.kinook.com/Download/VisBuildNet.zip

jarrodsinclair
03-04-2004, 11:23 AM
I also had simular problems so I just wrote my own e-mail step. I use it for completion and error e-mails. if you select only from '<step' to '</step>' then go to build pro and click past it will create the step for you. Hope this helps

<step action='Run Script' type='0'>
<Language>VBScript</Language>
<Script><![CDATA[' send by connecting to port 25 of the SMTP server
Dim iMsg
Dim iConf
Dim Flds
Dim strHTML
Dim strSmartHost

Const cdoSendUsingPort = 2
StrSmartHost = "exchange2"

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

Set Flds = iConf.Fields

' set the CDOSYS configuration fields to use port 25 on the SMTP server

With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
.Update
End With

' build HTML for message body
strHTML = "<HTML>"
strHTML = strHTML & "<HEAD>"
strHTML = strHTML & "<BODY>"
strHTML = strHTML & "At %DATETIME%, the build of %ProjectName% (%BUILDNUM%) on %COMPUTERNAME% completed successfully.</br>"
strHTML = strHTML & "The Build started at %STARTTIME%.</br>"
strHTML = strHTML & "</BODY>"
strHTML = strHTML & "</HTML>"

' apply the settings to the message
With iMsg
Set .Configuration = iConf
.To = "%DistributionList%"
.From = "%FromEmail%"
.Subject = "Build Succeeded"
.HTMLBody = strHTML
.AddAttachment "%TEMP%\%PROJROOT%.html"
.Send
End With

' cleanup of variables
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing]]></Script>
<indent type='3'>1</indent>
<name>Send Mail</name>
</step>

mhouge
03-04-2004, 04:29 PM
Thanks for the replies.

I loaded Visual Build using the older .dll that you provided. The html message formats as expected in outlook 2003. When I include an attachment (.html or .txt) in Visual Build, however, it fails to be sent. This happens no matter if I send an html message or a plain text message. In other words, the file attachment functionality is not working in outlook 2003 with the older .dll file (version 5.2.0.0).

Edit: When I say "it fails to be sent" I mean the message body is sent, but without the attachment coming along for the ride.

kinook
03-04-2004, 05:30 PM
Let's try this one more time (Outlook seems to be rather particular about how messages are formatted). There is an updated zip; please download it once more and see if it does the trick.

mhouge
03-04-2004, 06:10 PM
It now works in Outlook 2003! I can now send an html formatted message and include an attachment. Thank you so much!

Mark