West Wind Internet and Client Tools
SMTP TLS Issues
Gravatar is a globally recognized avatar based on your email address. SMTP TLS Issues
  n/a
  All
  May 28, 2015 @ 05:14pm
SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o


Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 28, 2015 @ 09:48pm

Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o



Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 29, 2015 @ 12:39pm
Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o



Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 29, 2015 @ 01:20pm
Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o






Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 29, 2015 @ 02:00pm
Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o






Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 30, 2015 @ 06:41am
I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o








Rick Strahl
West Wind Technologies

Making waves on the Web
from Hood River

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 30, 2015 @ 08:56am
Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o








Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 30, 2015 @ 09:36am
You can check in installed programs i guess.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/dbbde543-f3b8-4560-94d4-7e93e9c4a987/how-do-i-check-whether-i-have-installed-full-net-framework-or-net-framework-client-profile?forum=netfxsetup

Best way is to install .NET 4.51 or whatever the current latest is as it will upgrade the client profile to the full version.

+++ Rick ---



Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o









Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 30, 2015 @ 09:46am

You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o











Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 30, 2015 @ 10:01am
I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o











Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 30, 2015 @ 10:39am
No you shouldn't need any extra runtimes beyond FoxPro and .NET installed.

+++ Rick ---


I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o













Rick Strahl
West Wind Technologies

Making waves on the Web
from Hood River

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 30, 2015 @ 04:57pm
Hi Rick,

After hours of work and testing and after distributing the new product, I am having problems again on two of my test PCs. Now SendMail, when using SMTP, is returning "500 Command Unrecognized" error. Is this an error from the mail server?



No you shouldn't need any extra runtimes beyond FoxPro and .NET installed.

+++ Rick ---


I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o













Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  Rick Strahl
  Paul Weisberg
  May 30, 2015 @ 05:01pm

Yes that's a server error. Most likely you are setting or not setting the SSL flag when the server does or doesn't support it.

+++ Rick ---



Hi Rick,

After hours of work and testing and after distributing the new product, I am having problems again on two of my test PCs. Now SendMail, when using SMTP, is returning "500 Command Unrecognized" error. Is this an error from the mail server?



No you shouldn't need any extra runtimes beyond FoxPro and .NET installed.

+++ Rick ---


I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o
















Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Paul Weisberg
  May 30, 2015 @ 05:04pm
Sorry, never mind. After some research I did realize this is a server error. It was caused by a bad port number.



Hi Rick,

After hours of work and testing and after distributing the new product, I am having problems again on two of my test PCs. Now SendMail, when using SMTP, is returning "500 Command Unrecognized" error. Is this an error from the mail server?



No you shouldn't need any extra runtimes beyond FoxPro and .NET installed.

+++ Rick ---


I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o














Gravatar is a globally recognized avatar based on your email address. Re: SMTP TLS Issues
  n/a
  Rick Strahl
  May 30, 2015 @ 05:06pm
Yes, sorry getting tired. It was an incorrect port number.


Yes that's a server error. Most likely you are setting or not setting the SSL flag when the server does or doesn't support it.

+++ Rick ---



Hi Rick,

After hours of work and testing and after distributing the new product, I am having problems again on two of my test PCs. Now SendMail, when using SMTP, is returning "500 Command Unrecognized" error. Is this an error from the mail server?



No you shouldn't need any extra runtimes beyond FoxPro and .NET installed.

+++ Rick ---


I agree. I decided to remove the dialer option from the product. Sorry I am not clear on question #1. For using smtp but WITH TLS, does the customer need the VS 2010 runtime DLLs?

We can close this thread, thanks Rick for all your help. Great product!


You shouldn't need anything special if you're using classic wwSmtp (ie. non-.NET). Whatever is required to run VFP is enough.

InternDial is deprecated. It's still there (in wwAPI) but it doesn't actually work although you could make that work. It's become pretty much obsolete. Who dials a phone or connection anymore for a connection???

+++ Rick ---



Thanks Rick that was super helpful. And it's a way to allow my users to detect what version of .NET, if any, they have.

TLS authentication is working OK now. I had to install .NET 4.5.2 even though wwDotnetBridge says we are using 2.0. We'll be upgrading to the latest wwClientTools product.

I have two remaining questions:

- If I am using wwSmtp only, with and without TLS, do customers need the VS 2010 runtime files installed?

- Does wwClientTools still support calling up the internet dialer? Probably a dumb question but I don't see the method in the classes anymore.

Thanks for your help!



I think it says in Programs and Features which version(s) you have installed.

If you install 4.5 it'll overwrite 4.0 (it's an inplace replacement) and there's no client install. wwDotnetBridge tries to locate the latest version to use typically but it's not always reliable.

You can force a particular version (V2 or V4) by specifying loading wwDotnetBridge at the beginning of your application and loading a particular version. Since there is only one .NET runtime loaded per process, it will always use that.

The easiest way to check is:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge")
? loBridge.GetDotnetVersion()

To force a specific version:

do wwDotnetBridge
loBridge = CREATEOBJECT("wwDotnetBridge","V4")
? loBridge.GetDotnetVersion()

If this works then you've gone past the issue that's causing your error.

+++ Rick ---


Hi Rick,

No it has never worked. Smtp without authorization or without TLS works 100%. As soon as I turn on lUseSsl it fails. I have tried everything and I did read the link you sent below. The only idea I have left is that I have several versions of .NET installed. Does it use the highest version? Highest version I have is 4.0.30319 and it might be a client-only version but how do you tell?


Check here:

http://www.west-wind.com/webconnection/docs/?page=_3rf12jtma.htm

This doesn't explain why you said this worked intermittently previously - this would fail every time if not configured properly.

+++ Rick ---



Hi Rick,

OK I turned off error trapping and now I do catch an error. Message is:

"Unable to load wwDotNetBridge: Unable to load Clr Instance. 0x80131515"

It is thrown in wwdotnetbridge.init. The wwDotNetBridge.dll is in my path. the lcVersion passed to the init method is "V4.0.30319". This is a little over my head, not sure what I am doing wrong.


Not sure. Without an error message there's no way to know what's happening. Any SMTP failure should produce an error message, so I'm not sure why that's not happening.

+++ Rick ---


SMTP works fine for me. But as soon as I turn on lUseSsl = .T. the SendMail fails immediately. I know that I have:

- Do have .NET 4.5 installed on my development PC
- Do have the correct ISP username and password
- lUseSsl = .T.
- Do have the correct port (587)
- My ISP requires that "remote login" is enabled on my account and it is. It works because my Android phone can use SSL/TLS to get and send emails

Here is the code:

SET EXACT OFF
o=CREATEOBJECT("wwSmtp", 0)
o.nMailMode = 0 && .NET mode, requires .NET be installed on users PC (ChurchWatch doesn't do it)
o.lUseSsl = .T.

o.cMailServer=ALLTRIM(USERS.MAILSERVER)
o.cSenderEmail=ALLTRIM(USERS.EMAILADDR)
o.cSenderName=ALLTRIM(USERS.SENDERNAME)
o.nServerPort=USERS.ISPPort
o.cUsername = ALLTRIM(USERS.ISPLogin)
o.cPassword = ALLTRIM(USERS.ISPPwd)

o.cRecipient=ALLTRIM(cTo)
o.cCCList=ALLTRIM(cCC)
o.cBCCList=ALLTRIM(cBCC)
o.cSubject=ALLTRIM(cSubject)
o.cMessage=cMessage
o.cAttachment=ALLTRIM(cAttach)

llResult = o.SendMail()

>> at this point llResult is .F. and o.cErrorMsg is ""

* Release the Object
RELEASE o
















© 1996-2024