Jump to content

Help with Valuater's XProTec and SMTP


Recommended Posts

I've been trying to use XProTec - Free Version for sometime now and I'm unable to resolve an error that is related to the email functionality.

I keep receiving a Fatal Com error that I'm unable to understand what is causing it.

I have tried about 3 SMTP server and I keep getting the same error.

I've tried

GMAIL

Yahoo

2 different servers I have hosted with seperate providers.

I changed the server, username, password, port & authication for each server and still I get this error.

Can someone who had this problem tell me how to track down my issue.

Thanks

Steve

Link to comment
Share on other sites

The email portion was designed by JdeB, located here ( please post email questions there )

http://www.autoitscript.com/forum/index.ph...st&p=166575

thx

8)

as stated in XProTec.au3

Func mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text)
    ; Info for this function by JdeB = [url="http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575"]http://www.autoitscript.com/forum/index.ph...st&p=166575[/url]

;....

8)

http://www.autoitscript.com/forum/index.ph...st&p=166575

8)

NEWHeader1.png

Link to comment
Share on other sites

  • Moderators

I understand that the email portion was created by JdeB.

I have searched the thread that was found in Xprotec but I'm unable to locate anything on Fatal Com error.

If I type "Fatal Com error" in the search - It returns only the XProTec thread.

Steve

Posting things like this are useless really.

If you need help, then do a recreation script that demonstrates your error so someone can look at it... otherwise, you will be waiting for a very long time.

I'd be willing to bet the only part of XProtect that Val uses COM on is the email part which is written by Jos.

So... how do you narrow it down and write a recreation script.

1. Don't use XProtect.

2. Get the COM mail stuff from that thread (or it may be included in autoit now)

3. Try to use your three methods and see if you still get the error.

If you did, then you've narrowed it down to something specific.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

I ran this (http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575) email program by itself and the email was sent.

1. Isn't the function here - http://www.autoitscript.com/forum/index.ph...st&p=166575

different than the function in Xprotec?

2. In the Xprotec mEmailer function

How are the values for $e_Subject, $e_Sender, $e_Recipient, $e_CcAddress & $e_Text assigned?

3. Is there a modification to the code that I can make that will give me more info on the error?

Here

Global $smtpserver = "smtp.att.yahoo.com"

Global $sendusername = "xxxxxx@swbell.net"

Global $sendpassword = "xxxxxx"

I change port to 465

I'm only using the Computer License so I think this is where I'm getting the Fatal error.

mEmailer($P_program & $M_server, $U_Mail, $ND_Mail, $P_program & " Validation Code", $text)

Here is the mEmailer Function

CODE
Func mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text)

; Info for this function by JdeB = http://www.autoitscript.com/forum/index.ph...st&p=166575

$oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

$objMessage = ObjCreate("CDO.Message")

With $objMessage

.Subject = $e_Subject

.Sender = $e_Sender

.From = $e_Sender

.To = $e_Recipient

.Cc = $e_CcAddress

.TextBody = $e_Text

EndWith

With $objMessage.Configuration.Fields

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

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

.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1

.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sendusername

.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sendpassword

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

.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

.Update

EndWith

$objMessage.Send

If @error Then MyErrFunc()

$oMyError = ""

$objMessage = ""

EndFunc ;==>mEmailer

Edited by Steve1040
Link to comment
Share on other sites

  • Moderators

Good luck with that... I'm certainly not digging through 600 lines of code to find the issue.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

  • Moderators

OK I changed posting to specific code block

Looks like the params are different... did you check to make sure you were sending the right thing to the right parameter?

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

  • 5 weeks later...

I figured it out...

The original XProTec does not use SSL in the mEmailer function, so if you try going to an SSL based SMTP server, it gives the COM error

I changed the mEmialer() to look like this:

Func mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text)
; Info for this function by JdeB = http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575
    $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
    $objMessage = ObjCreate("CDO.Message")
    With $objMessage
        .Subject = $e_Subject
        .Sender = $e_Sender
        .From = $e_Sender
        .To = $e_Recipient
        .Cc = $e_CcAddress
        .TextBody = $e_Text
    EndWith
    With $objMessage.Configuration.Fields
        .Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $smtpserver
        .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sendusername
        .Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sendpassword
        .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465;25
        .Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
        .Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True;<<==========ADDED LINE
        .Update
    EndWith
    $objMessage.Send
    If @error Then MyErrFunc()
    $oMyError = ""
    $objMessage = ""
EndFunc ;==>mEmailer

Now everything is working....

Edited by Oldschool
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...