Send email no longer working

I went through this same pain a while ago. Some hosts are blocking the ports required to send email to combat spam and to avoid becoming subject to regulatory requirements imposed on service providers that allow email sending.

You need to find a mail service provider, start your own service in-house on a commercial connection (some residential ISPs block the same ports!), or use a commercial sending service.

You can host yourself on the same hardware by moving to Digital Ocean and Lifeboat. Pays for itself by the 4th month.

1 Like

as i understood the IPN listener is your console app and the button in desktop app works?
maybe it runs in other user context, was not replaced because service was running or you ignore the events.

I don’t understand “and care the events too”

it have this events

smtp.Error: 103 (Unable to resolve address)

seems it cant get the ip4 from the cname entry.
make sure mail.circleconsulting.us have a valid certificate.

about SPF

and DKIM

about CNAME

1 Like

This is where I stand right now. Emailing through the server works for a while, then it stops with an error message: smtp.Error: 103 (Unable to resolve address)

The server tech is responding with: The error:

smtp.Error: 103 (Unable to resolve address)

indicates that the application was unable to resolve the hostname mail.circleconsulting.us to an IP address before attempting to establish the SMTP connection.

Since the issue is intermittent, it is more likely related to the environment where the application is running or the DNS resolver it is using, rather than the mail server itself. If the SMTP server were unreachable or rejecting the connection, we would typically expect a connection or authentication error instead of a hostname resolution error.

Here’s the code:

var s1 as new smtp
app.s1.address = “mail.circleconsulting.us
app.s1.port = 587
app.s1.username = “circlecalc@circleconsulting.us”
app.s1.password = “12345”
app.s1.sslConnectionType = smtpSecureSocket.sslConnectionTypes.TLSv12
app.s1.smtpConnectionType =smtpSecureSocket.smtpConnectionTypes.SSLTLS
app.s1.sslEnabled = true
app.s1.connect

app.mail = new emailMessage
app.mail.fromAddress = “circlecalc@circleconsulting.us”
app.mail.addRecipient(app.payerEmail) 'jvscanlan@myctl.net
app.mail.subject = “CircleCalc button (xojocloud) thru DirectAdmin” + app.dtext + " (ipn version " + str(app.majorVersion) + “.” + str(app.minorVersion) + “)”
app.mail.bodyHTML = message
app.mail.headers.addHeader(“x-app.mailer”, “smtp test”)

app.s1.sendMail

Any ideas?

Use the IP address instead of the hostname?

Is s1 a local variable or a variable in app? You have both

var s1 as new smtp

and

app.s1.sendMail

Have you tried curl instead of the Xojo functionality if that works for a web app.

Hi John,

I do agree with your mail server tech. Since the issue is reportedly a name resolution error, something might be an issue on the Xojo Cloud side.

The error: “smtp.Error: 103 (Unable to resolve address)” indicates that the application was unable to resolve the hostname mail.circleconsulting.us to an IP address before attempting to establish the SMTP connection.

Additionally, Thom is absolutely correct. Digital Ocean (Xojo Cloud’s infrastructure) is even one of those providers with a “block SMTP by default” policy, but I don’t agree that it’s a problem here. There is confirmed success with one code path but not another, so logically SMTP ports must be open for the successful code path to work. Also I would expect something other than a name resolution error, maybe a connection error. A good note to be aware of, but I don’t suspect it’s the culprit here.

There has got to be a minor difference between your button design and IPN handler design that you haven’t seen yet. Unfortunately, if you modify your project to make it safe to share publicly, you might remove or alter your actual problem.

Also, you are paying Xojo Cloud monthly for service and support. 103 makes it seem like possibly a networking issue, which could be within scope of Cloud support. Xojo Cloud support is usually private by email: hello@xojo.com

I, too, highly recommend a transactional email provider. I’m on the 200/day free tier at Mailjet. I even have an open source class that allows sending via their REST API but using the Xojo EmailMessage architecture. However, I usually just use their SMTP relay because it’s a standardized protocol and far less work.

One last thing, and the only wild-asㅤs-guess I will make, is that you could have a gremlin inside the quote for the address field. Happens sometimes with copy and paste. Select all the code, right-click, and select “Clean invisible ASCII characters”. Delete anything that changes.

Clean invisible characters menu item screenshot

If you need any hands-on assistance I do have availability for small private consulting contracts. support@strawberrysw.com

Best wishes,
Tim Parnell

Gee that was dumb. Thanks Beatrix

1 Like

Thanks all. I’ve taken your suggestions and of course it turns out that the big problem was that the email server had my xojocloud IP address blocked.