Vanilla forum "SMTP Error: Could not connect to SMTP host." - email

Since I upgraded my production site (Linux, Apache) from Vanilla 2.2.1 on PHP 5.5 to Vanilla 2.3.1 on PHP 7.0, my site cannot send emails - failing with the message "SMTP Error: Could not connect to SMTP host."
My settings are:
SMTP Host: smtp.gmail.com
SMTP User: [my email]
SMTP Password: [my password]
SMTP Port: 465
SMTP Security: SSL
I read many similar questions on SO and tried the following:
Confirm OpenSSL is enabled
Confirm with the hosting provider that port 465 is not blocked on their firewall
Telnet test on the hosting server gives this:
$ telnet smtp.gmail.com 465
Trying 108.177.97.108...
Connected to smtp.gmail.com.
Escape character is '^]'.
Connection closed by foreign host.
Switching to a different hosting server (same provider) with PHP 7.0, but same error
Not sure if this will be useful information, but when I try TLS with port 587 it gives another error - "Language string failed to load: tls"
My local test site with Vanilla 2.3.1 on PHP 7.0 (Windows, IIS), an identical copy of the production, can send emails without problem with the above SSL settings.
Is there anything else I can try? Any help is appreciated!

Related

Having authentication error while using msmtp

I am using msmtp to sent emails but getting authentication error although my login credentials were right.
my msmtprc file contains
defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default
host smtp.gmail.com
port 25
auth on
user *******#gmail.com
password *********
from **********#gmail.com
logfile /var/log/msmtp.log
on running this command on terminal
echo -e "Subject: Test Mail\r\n\r\nThis is my first test email." |msmtp --debug --from=default -t vikrantgoutam16#gmail.com
I get the following errors
msmtp: authentication failed (method PLAIN)
msmtp: server message: 535-5.7.8 Username and Password not accepted. Learn more at
msmtp: server message: 535 5.7.8 https://support.google.com/mail/?p=BadCredentials b14sm68898705pfi.92 - gsmtp
msmtp: could not send mail (account default from /etc/msmtprc)
I just had the same issue. I have a Debian 10 32bit with PHP 7.3.14-1, and the /etc/msmtprc file has...
account <myusername>#gmail.com
host smtp.gmail.com
port 587
tls on
tls_starttls on
auth on
user <myusername>
password <plain-password>
from <username>#gmail.com
account default : <username>#gmail.com
This configuration sends the email with no errors using smtp.gmail.com, then I have a GCE (Google Compute Engine) with Debian 10 64bit and PHP 7.3.14-1, with the exact same configuration file and it does not work.
I enabled the 2-step verification method and generated a 16 character password for my script, with the App Password, the GCE just worked. Of course the 32bit machine is not able to send emails anymore, but my priority was the GCE machine. The configuration file on GCE is...
# Set default values for all following accounts.
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account gmail
host smtp.gmail.com
from <myusername>#gmail.com
auth on
user <myusername>#gmail.com
password <16 character password from Gmail>
# Set a default account
account default : gmail
It's probably worth mention that the 32bit machine has gCloud SDK and it's fully capable of login and connect to the GCE instance.
Following the guide on the arch wiki I realized that I did not have chmod setting.
I technically copied and pasted the settings in the example making these changes:
from
user
password
<< deleted the freemail service section >>
Once I set this parameter solution worked for me.

sending email to smtp server in docker

I have just installed a docker image of inbucket (http://www.inbucket.org/). It is working ok and I can see in the docker command prompt that smtp is listening on TCP4 0.0.0.0.10025 and pop3 listening on TCP4 0.0.0.0.10110.
I can also access the web interface for the application on localhost:9000 so everything seems to be working ok.
I haven't used docker before so I'm unsure what email address I need to send it to so the docker smtp server will pick it up. I have tried addressed such as anyone#inbucket.com, anyone#inbucket.local, anyone#inbucket.org but I keep getting invalid address returned messages.
How should docker mailboxes work?

Telnet 23 gives response using command prompt, But telnet using chrome sockets gives junk characters as response

Below i mentioned the issue as steps
1, When I try to create a telnet Ip port 23 connection using command prompt i am getting a response that asks for login as
Telnet *.*.*.*
Connecting ....
Welcome to Microsoft telnet service
2, When I try to establish a telnet connection to same server and port using chrome Sockets Api through my chrome extension i am getting junk characters as
ÿý%ÿûÿûÿý'ÿýÿý
The original telnet protocol has a capability and options exchange at the beginning of the connection. A real telnet program hides this exchange but since you simply make a socket connection to port 23 you have to deal with it by implementing the telnet protocol properly.

How to specify port number when sending mail with postfix?

I've uncommented the 'submission' line in master.cf and I can 'telnet example.com 587' on my mail server with no problem but how do I send mail from the command line of the client to the postfix server over port 587?
My server is hosted as a digitalocean droplet (centos instance) on the internet and my client is my home laptop.
Each time I try to deliver a message with the 'mail user#example.com' command I instantly receive a rejection message because my isp blocks port 25.
Any help greatly appreciated :)
mail command will drop the mail to the SMTP server running on your home laptop and the SMTP server running on your home laptop is not configured i guess. So it is trying to deliver the mail by doing an MX lookup (i.e to port 25 of your MX server). If you want to do any smtp tests please try using swaks tool.
# For eg. to authenticate and send mail from your mail server, you will have to use
swaks -f you#example.com -t someone#yahoo.com -s example.com -p 587 --auth-user you#example.com --auth-pass somepass
# -f from
# -t to
# -s server
# -p port
# --auth-user username
# --auth-pass password
More info here Hope that helps.

Problem with configuring Thunderbird with hMailServer

I installed hMailServer and did the following
1. Created a test.com domain
2. Added an user testuser
Now the hMailServer is running in my localhost.
When I install Mozilla thunder bird and try to configure it by entering the username and password, it fails giving
Thunderbird failed to find the settings for your email account.
How can I tell thunderbird about the hMailServer running in my local host? Where is thunderbird looking for the domain when I entered testuser#test.com?
I saw some messages like "Looking up in Mozilla ISP database". But the mail server is in my local machine.
Am I missing any configuration details?
UPDATE
I posted a video tutorial on YouTube on how to configure hMail and Thunderbird: https://www.youtube.com/watch?v=FMPfcVd6OOk
I found it pay attention to the IPv4 address -that is very important :
http://www.mjvanderwielen.com/?p=1632
Make sure:
Incoming is: ”IMAP”
Server hostname: local ip address server computer
Port: 143
SSL: None
Authentication: Normal password
Username: complete account name!!
Outgoing: ”SMTP”
Server hostname: as per your host
Port: as per your host
SSL: as per your host
Authentication: as per your host