cancel
Showing results for 
Search instead for 
Did you mean: 

Sending e-mail via CDO due to "Transport failed to connect to the server"

SOLVED
Andrea_Bonacchi
New Contributor

Sending e-mail via CDO due to "Transport failed to connect to the server"

Hi everybody,

 

with the help of the on-line documentation I wrote the following code to send an e-mail using CDO.

 

function SendEmail(mFrom, mTo, mSubject, mBody)
{
var schema, mConfig, mMessage;

try
{
schema = "http://schemas.microsoft.com/cdo/configuration/";

 

mConfig = getActiveXObject("CDO.Configuration");


mConfig.Fields.$set("Item", schema + "sendusing", 2); // cdoSendUsingPort
mConfig.Fields.$set("Item", schema + "smtpusessl", 1); // Use SSL
mConfig.Fields.$set("Item", schema + "smtpserver", "smtp.gmail.com"); // SMTP server
mConfig.Fields.$set("Item", schema + "smtpserverport", 465); // Port number (tried to use 587 and 25 port)
mConfig.Fields.$set("Item", schema + "smtpconnectiontimeout", 180); // Port number (I think 180 are seconds)

mConfig.Fields.$set("Item", schema + "smtpauthenticate", 1); // Authentication mechanism

mConfig.Fields.$set("Item", schema + "sendusername", mFrom);

mConfig.Fields.$set("Item", schema + "sendpassword", "<myPassword>");

 

mConfig.Fields.Update();

 

mMessage = getActiveXObject("CDO.Message");
mMessage.Configuration = mConfig;
mMessage.From = mFrom;
mMessage.To = mTo;
mMessage.Subject = mSubject;
mMessage.HTMLBody = mBody;

 

// no attachment

//aqString.ListSeparator = ",";
//for(let i = 0; i < aqString.GetListLength(mAttach); i++)
// mMessage.AddAttachment(aqString.GetListItem(mAttach, i));

 

mMessage.Send();
}
catch (exception)
{
Log.Error("Email cannot be sent", exception.message);
return false;
}
Log.Message("Message to <" + mTo + "> was successfully sent");
return true;
}

 

When the send command is executed, an exception is thrown. The message written in the exception is: "The transport failed to connect to the server".

The mFrom address is a gmail address and for this address has been enabled that less secure apps can access.

 

I read also this post https://community.smartbear.com/t5/TestComplete-Functional-Web/SendMail-not-working-Tried-everything...

 

No solutions have been found. The port (465) isn't block by workstation or IT firewall because I can access to my gmail.

 

Any suggestions or help?

 

 

Thank you very much,

Andrea

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
tphillips
Community Leader

Re: Sending e-mail via CDO due to "Transport failed to connect to the server"


The port (465) isn't block by workstation or IT firewall because I can access to my gmail.


Are you sure that port isn't blocked by the firewall? If you can access your gmail you're likely accessing it over the web UI which doesn't use that port.

 

Are you able to telnet to smtp.gmail.com from your machine using the command line?


--------------------
QA Systems Architect

View solution in original post

2 REPLIES 2
tphillips
Community Leader

Re: Sending e-mail via CDO due to "Transport failed to connect to the server"


The port (465) isn't block by workstation or IT firewall because I can access to my gmail.


Are you sure that port isn't blocked by the firewall? If you can access your gmail you're likely accessing it over the web UI which doesn't use that port.

 

Are you able to telnet to smtp.gmail.com from your machine using the command line?


--------------------
QA Systems Architect

View solution in original post

Andrea_Bonacchi
New Contributor

Re: Sending e-mail via CDO due to "Transport failed to connect to the server"

Hi tphillips,

 

you are right. On my workstation, trying a telnet connection to google smtp server using the ports 25 and 465 the connection cannot be established.

I advised my IT.

 

 

Thanks a lot,

 

Andrea

New Here?
Join us and watch the welcome video:
Announcements
Top Kudoed Authors