SSL support for smtp.live.com and TIdSmtp (Indy, Delphi) - delphi

I am trying to connect to smtp.live.com to send emails (live.com supports free pop3/smtp since 2009 apparently but this is totally news for me).
Here is what happens when I try to connect to smtp.live.com port 587:
Method sslvSSLv2 - timeout (obviously the server does not support SSL2)
Method sslvSSLv3 - Error connecting with SSL. - error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Method sslvSSLv23 - Error connecting with SSL. - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Method sslvTLSv1 - Error connecting with SSL. - error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
I use the same code with sslvSSLv23 and sslvTLSv1 and it works normally with gmail smtp (smtp.gmail.com, port 465) server. Also, Outlook sends mails normally when SSL is checked and on port 587 so it may be something related to OpenSSL. Can anyone help me with this mystery? Did I missed to set something?

Like GMail, Live.com's port 587 requires the client to connect unencrypted and send a STARTTLS command before then initiating an SSL/TLS handshake. In Indy 10, you do that by setting the TIdSMTP.UseTLS property to utUseExplicitTLS before connecting. It sounds like you have the UseTLS property set to utUseImplicitTLS instead (which is what is needed for GMail port 465).

Related

IdFtp and SSL : How to connect securely?

I'm on Delphi 10.3.3 and i'm trying to use TIdFTP to upload files to my own site. To avoid people stealing my username / password, i want to do it using SSL, as in the past i used without SSL and ended up having problems.
So i'm using TIdFTP and TIdSSLIOHandlerSocketOpenSSL, with the correct DLLs on the app folder.
Problem is, everytime i call TIdFTP.connect, i always get an error, except if i don't use SSL.
Here are the messages i get with different combinations of UseTLS property :
utNoTLSSupport - Works but exposes by traffic
utUseExplicitTLS - Socket Error # 10054 Connection reset by peer.
utUseImplicitTLS - Socket Error # 10061 Connection refused.
utUseRequireTLS - Socket Error # 10054 Connection reset by peer.
Please help !
Thanks

"Failed to connect to api.twilio.com port 443: Connection refused" error

I've disabled SSL Certificate Validation under General Settings because my WordPress site is using http.
But I am still still getting "Failed to connect to api.twilio.com port 443: Connection refused" on live and test credentials."
I've also purge caches on the browser.
I am using the guide from https://www.twilio.com/blog/2017/08/send-sms-wordpress-php-plugin.html.
Does the setting takes time to remove the SSL certification validation or what else could go wrong?
Answered by Twilio support "All connections to the Twilio API endpoints must use HTTPS and so if you have no SSL Cert for your Wordpress website it will refuse the request. You will need to get an SSL Certificate for your website in order to call the API endpoints from your Wordpress site/domain. Disabling SSL Certificate Validation setting on Twilio dashboard is for calls from Twilio to your servers, not the other way around."
I am also facing the same challenge while doing a POC to send SMS using twilio. This is the exception that I am getting.
Exception in thread "main" com.twilio.exception.ApiException: Connect to api.twilio.com:443 [api.twilio.com/54.209.184.12, api.twilio.com/52.45.186.111, api.twilio.com/52.4.111.215, api.twilio.com/52.5.142.82, api.twilio.com/54.165.83.5, api.twilio.com/54.84.239.1, api.twilio.com/52.45.52.233, api.twilio.com/52.72.204.95] failed: Connection refused: connect
at com.twilio.http.NetworkHttpClient.makeRequest(NetworkHttpClient.java:128)
at com.twilio.http.HttpClient.reliableRequest(HttpClient.java:42)
at com.twilio.http.HttpClient.reliableRequest(HttpClient.java:25)
at com.twilio.http.TwilioRestClient.request(TwilioRestClient.java:42)
at com.twilio.rest.api.v2010.account.MessageCreator.create(MessageCreator.java:402)

Rails - Is Sendmail or Postfix Installation required for External SMTP Server

So I use Sendgrid, an external SMTP server handling transaction emails.
I just deployed my Rails app on a fresh new VPS, with Ubuntu on it.
In Sendgrid tutorial, I saw that I only have to set ActionMailer to point to sendgrid's SMTP address with proper username/password.
But I was met with Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 25 error, but I am sure I have set it to point to Sendgrid's 587 port. I searched online and someone suggested me to install postfix. I am guessing ActionMailer need a MTA on localhost.
Is sendmail or postfix a required package for using external SMTP service on Linux?
The answer is no, postfix or sendmail is not required.
ActionMailer/Mailer gem can connect to remote SMTP server directly.
As a side note, my localhost issue is that the keys of the config hash were somehow converted into String keys. Converting it to symbol keys fixed the issue.

ActionMailer and a self-signed SSL Cert

I have an application (an installation of Discourse) that I'm trying to deploy. However, the email server that it is pointed at has a self-signed ssl cert for SMTP.
Is there a workaround for this? Or do I need to find a way to send mail using a "valid" SSL cert?
Few things actually care that deeply about a proper cert for SMTP. Mostly user agents.
If the cert is a problem you won't get timeouts, you'll get validation errors. I suspect what's happening is that you're trying to connect over the SMTPS port which isn't listening or exposed by the firewall.
Try using SMTP+STARTTLS. That negotiates TLS over port 25 or 587 instead of trying to connect directly to 465.

Jenkins email notification setup

I am trying to setup email notification for my jenkins server for build failures.
Things I have tried:
1) Use my company smtp mail server with authentication - does not work. Connection refused
2) Setup my own James mail server. SMTP server - localhost. Authentication - admin,admin. Port 25. I see that my SMTP server is running. - does not work. Connection refused
3) Use my personal gmail account with authentication - Works!!!
I have followed other discussions on this topic but not got an answer.
Some say it may be a firewall issue but I am not sure how to overcome it.
Any suggestions are most welcome.
Thanks,
I had the similar problem.
I was on wireless + windows 7 and when checked internet connectivity status, IPV4 was connected to internet but IPV6 was not.
Looks like IPV6 is used as default on windows 7 but it was not able to connect to the SMTP server using it.
Started my jenkins with -Djava.net.preferIPv4Stack=true and it worked for me.
java -Djava.net.preferIPv4Stack=true -jar jenkins.war and the "Test Configuration" worked.
For Sending Email Notifications using localhost SMTP server you need to install postfix,
For Linux :
sudo apt-get install postfix
telnet localhost 25
and then try sending test email. :)
I know this is late but just in case any other person is facing problem!

Resources