LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

2011 SMTP works while 2013 and 2014 SMTP don't, what am I missing?

Dear good people,

 

I have an internal open mail server that I can very well communicate with using the SMTP function in LV2011 (i.e. I can successfully send emails). The connection requires no authentication since it is being done on internal network.

 

To my surprise, when I try to use the SMTP functions provided in the LV2013 and 2014, I cannot make it to work. Even when I put both functions in the same VI, the 2011 goes through while the 2013-2014 does not (see the figure below). The error I keep getting on 2013-2014 is: LabVIEWSMTPClient.lvlib:Send.vi:2280001<APPEND>

 

For all educational purposes I am very interested to know what is that I am missing here ? Thank you all.

 

SMTP_2013_2014_2011_Problem.png

0 Kudos
Message 1 of 12
(5,806 Views)

Does the Send Email Express VI work?

 

Hard to tell what's going on because the e-mail VIs are passworded. Have you tried a wireshark trace of the traffic?

0 Kudos
Message 2 of 12
(5,803 Views)

I haven't tried it yet. I am not very familiar with wiresharking though.

0 Kudos
Message 3 of 12
(5,795 Views)

No the "Send Email Express VI" doesn't work either.

0 Kudos
Message 4 of 12
(5,778 Views)

You pasted in the text out of the error cluster, but didn't tell us what the error code (numeric) was.  That could be very valuable information.

 

I just tried using the SMTP VIs in 2013SP1 against an internal SMTP server, using the same call chain you showed.  I'm getting an error code of 36504 (decimal), and when i cmd-click and select "Explain Error", the lookup says "LabVIEW:  Invalid username or password combination."

 

Upon reflection, that's not unexpected - SMTP relays inside my corporate environment are locked down (to prevent us from spamming the world, I guess, if our desktops were to get hijacked by malware).  I have the ability to get my desktop added to a "safe" list, which I just requested, so I can try again later when access is granted.

 

The "old" SMTP library was coded from scratch using TCP primitives, and had open BDs.  The "new" SMTP library *may* be based on libcURL, like the "new" HTTP library seems to be, which is all good, but the BDs are locked, which is not so good.

 

Dave

David Boyd
Sr. Test Engineer
Abbott Labs
(lapsed) Certified LabVIEW Developer
0 Kudos
Message 5 of 12
(5,774 Views)

Resurrecting this thread, as I am fighting a similar issue.

 

Using LV2014 and the SMTP email VI's I am getting this same error (36504). The quirk is, the program will send an email, then error out and stop the program after doing so, stating this error in the SMTP Send VI. If you follow with highlight execution, everything passes cleanly through the program structure (As set up in the OP's original post) until it gets to the Send VI, then the error code pops up.

 

The email portion of the program is in an event structure of the program, and is only called once the appropriate value change is signaled.

 

As mentioned it *does* send an email, then errors out immediately after doing so, claiming Invaild username or password. If it has connected to the SMTP server, then it follows that the username/password is correct, so the error is confusing.

 

Any help would be greatly aprreciated!

0 Kudos
Message 6 of 12
(5,480 Views)

turbochuck,

 

Are you providing any username or password strings to the Open Handle call?  I can use my internal server now (not so back in February), but only if I DO NOT attempt to supply a username.  If I do, I get the error you describe (363504).  Additionally, I get this same error if I DO NOT provide a valid-form email address for the "From" input.  A valid form seems to be <anything>@<anything>.<anything>    , but it's impossible to tell what of that is the VI library and what, just possibly, is the server.

 

And if I set "Use TLS?" TRUE, I always get an error 363503 at Send.vi, with Possible reason(s): LabVIEW:  The HTTP client-side libraries (or one of its dependencies) failed to load.

 

That error seems like one related to the libcurl/openSSL functionality I've seen with the "new" HTTP client library VIs.

 

BTW, I'm using 2014SP1, patched. (14.0.1f1, 32 bit).  Not much help, here, sorry...

 

Dave

 

 

David Boyd
Sr. Test Engineer
Abbott Labs
(lapsed) Certified LabVIEW Developer
0 Kudos
Message 7 of 12
(5,465 Views)

Dave-

Thanks for the reply.

 

If I attempt to not supply a username/password, the Email Send VI just times out, evidently because it can't connect to the server.

 

Ironically, we have the same SMTP email handling structure functioning in another program on another machine, and it appears to work properly there without supplying a username/password. I've even copied that section of code into this program to no avail.

 

The oddity is that it sends the email first, THEN decides that the username/password is invaild. Would be nice to see inside that email send VI to see what might be hanging things up.

 

 

 

 

0 Kudos
Message 8 of 12
(5,441 Views)

Hello,

 

I get the same error, and I find a empty string in the last element in the list of recipients.  It seems to be the cause of the error for my case.

I have only 1 recipients but the array have 2 elements.

I fix that and all is working fine now.

 

I hope it helps

 

0 Kudos
Message 9 of 12
(5,337 Views)

Hello!

 

Here is a Knowledge Based article that includes how to avoid some errors with SMTP Email VIs.

http://digital.ni.com/public.nsf/allkb/42556976302AFF3C86256D7C0080AB5C?OpenDocument

 

Here is a Knowledge Based article with examples about how to send email in LabVIEW via a secure SMTP server.  This article includes how to accomplish this in LabVIEW 2012 and earlier, as well as LabVIEW 2013 and later.

http://digital.ni.com/public.nsf/allkb/484272384C2960AA8625749E006512EE

 

I hope this helps!

 

Casey L.

0 Kudos
Message 10 of 12
(5,304 Views)