Solved

Hta that send mails quering the printer description.

Posted on 2008-09-29
2
293 Views
Last Modified: 2012-05-05
Hi,

Hta that send mails quering the printer description.

1. When clicked SEND there should be 2 mails sent in 1 send.

One thats already doing now and another mail to a different TO & CC with a different subject. But the body can be the same.

So in one go i get a call log raised with the vendor and a call log raised in the company logging system also.

Regards
Sharath
Dim strComputer, strEmailServer, strEmailSender, strEmailTo, MyVar, objWMIService, colInstalledPrinters, strMessage

strComputer = "."

strEmailServer = "MAILSERVER"

strEmailSender = "youname@domain.com"

strEmailTo = "yourname@domain.com"

 

Do Until MyVar = 1

	MyVar = 0

	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

	Set colInstalledPrinters =  objWMIService.ExecQuery ("Select * from Win32_PrintJob WHERE TotalPages > 100",,48)

	For Each objPrinter in colInstalledPrinters

		strMessage =	"Name: "            & objPrinter.Name   & Chr(10) & Chr(13) & _

				"Print Job Owner: " & objPrinter.Owner  & Chr(10) & Chr(13) & _

				"Total Pages: "  & objPrinter.TotalPages & Chr(10) & Chr(13)

		ShowAlert(strMessage)

	Next

	WScript.Sleep(1000*10)

Loop

 

Sub ShowAlert(msg)

 

'On Error Resume Next

Dim objMessage

Set objMessage = CreateObject("CDO.Message")

with objMessage

.Sender = strEmailSender

.To = strEmailTo

.Subject = "Print Server Alert" 

.TextBody = msg

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strEmailServer 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

 

.Configuration.Fields.Update

.Send

end with 

Set objMessage = Nothing

 

End Sub

Open in new window

0
Comment
Question by:bsharath
2 Comments
 
LVL 58

Accepted Solution

by:
tigermatt earned 500 total points
ID: 22599000
The code you posted doesn't appear to be in HTA form. However, I've modified it to add the CC mail, let me know of any further changes.

You need to set the Subject line for both the To and CC messages, and then obviously the email addresses for the To and CC messages. The rest will take care of itself.

Matthew
Dim strComputer, strEmailServer, strEmailSender, strEmailTo, MyVar, objWMIService, colInstalledPrinters, strMessage, strEmailCC, strSubjectCC

strComputer = "."

strEmailServer = "MAILSERVER" 'Mail Server Name

strEmailSender = "youname@domain.com" 'Sender Address

strEmailTo = "yourname@domain.com" 'The TO Email Address

strEmailCC = "the-CC-email@domain.com" 'Address to CC to

strSubjectCC = "CC Message Subject" 'The Subject for the CC

strSubjectTo = "TO Message Subject" 'The Subject for the mail sent to the "To" address

 

Do Until MyVar = 1

        MyVar = 0

        Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

        Set colInstalledPrinters =  objWMIService.ExecQuery ("Select * from Win32_PrintJob WHERE TotalPages > 100",,48)

        For Each objPrinter in colInstalledPrinters

                strMessage =    "Name: "            & objPrinter.Name   & Chr(10) & Chr(13) & _

                                "Print Job Owner: " & objPrinter.Owner  & Chr(10) & Chr(13) & _

                                "Total Pages: "  & objPrinter.TotalPages & Chr(10) & Chr(13)

                ShowAlert(strMessage)

        Next

        WScript.Sleep(1000*10)

Loop

 

Sub ShowAlert(msg)

 

'On Error Resume Next

Dim objMessage

Set objMessage = CreateObject("CDO.Message")

with objMessage

.Sender = strEmailSender

.To = strEmailTo

.Subject = strSubjectTo

.TextBody = msg

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strEmailServer 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

 

.Configuration.Fields.Update

.Send

end with 

Set objMessage = Nothing
 

Set objMessage = CreateObject("CDO.Message")

with objMessage

.Sender = strEmailSender

.To = strEmailCC

.Subject = strSubjectCC 

.TextBody = msg

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strEmailServer 

 

.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

 

.Configuration.Fields.Update

.Send

end with 

Set objMessage = Nothing

 

End Sub

Open in new window

0
 
LVL 11

Author Comment

by:bsharath
ID: 22602429
Thank U Matthew... Sorry put in the wrong code here
Here is the new post
http://www.experts-exchange.com/Programming/Languages/Scripting/Q_23773550.html
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

759 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now