• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Web forms don't send mail

L

Lucretia

Guest
Our company just signed up to a VPS from Pipex, and this comes with Plesk 7.5 installed.

We're using the server for hosting our website, so I've had to create the domain and upload the files. Whilst the pages themselves are all behaving OK, I can only ever seem to get internal server errors when trying to send webforms.

I should point out at this point, that I'm a software person, not hardware, so I've a feeling that accepting the default settings for creating a domain in Plesk may have something to do with my problem.

After quite a lot of research, I've become convinced that the problem must be related to the default SMTP settings and/or the server, rather than anything specifically wrong in my ASP script.

I've been able to use telnet to attempt to work out what is going on.

Telnet shows SMTP is enabled on the machine.
Using the telnet window I get different results, depending on where I attempt to send the e-mail.
If I try and send it to my own e-mail address or indeed to anyone else on the same domain I get an error 550 'Requested action not taken: mailbox unavailable or not local' when I enter the to address
If I try and send it to an e-mail address of someone I know on another domain I get a 503 error instead, telling me that the server requires authentication.

Note that the e-mail server for my e-mail address is NOT on the same machine and I can quite happily send e-mail using an e-mail client

Looking in Plesk shows that the server requires authentication option is checked under mail, however we're not using the server for mail, we only need to use its SMTP feature to allow data from web forms to be mailed, so there are no e-mail name/passwords set up. I don't want to turn the option to open, but how to authenticate if there's nothing to use to authenticate?
:confused:

However this still wouldn't explain why i get a different message when attempting to e-mail to myself, and Pipex seem to be as clueless as me.

Anyone got any ideas? This has been driving me up the wall all week and I'm still no further forward.
 
Dear, Lucretia

You have had different errors, because you have e-mail relay configured in a special way. So, you are not able to send an e-mail that is not local without authentiaction.
The one saying that the mailbox is not local means, that you used a mailbox name that doesn`t exist for the specified domain (like [email protected])

To have you scripts working, you need to setup you local IP address in the Mail whitelist. To make thi go to Plesk -> server -> Mail -> whitelist and add all of your IPs here.
You shouldn`t use 127.0.0.1, but real IPs.

Hope, this helps you with your scripts. %)
 
That's been a little help, but not much.

In the end I figured out the difference in message from telnet was because the domain alias was set to web+ftp+mail rather than just web+ftp. Now at least, I'm getting the same error, wherever I try to send the mail.

So now I've tried adding the IP address of the machine the site is on to the white list using mask 24 (that mask is correct for subnet 255.255.255.0 isn't it?) but the mail still doesn't get sent.

Testing the connection via telnet is still giving the "server requires authentication" message.

I have no user/password to use for server authentication (other than admin itself, which I'm hardly going to make visible in an ASP script)

Does this mean I need to create some kind of "dummy" user, or can I do anything using the whitelist?
 
Hello, Lucretia

The thing is that, you should test this with telnet from the server locally (i.e. statrting telnet on the server). This will give relevant results.

By the way, what librbay do you use to send e-mails? CDONTS, ASPEmail, Jmail?

To troubleshoot the error, you can use MailServer`s logs. For MailEnable they can be found in:
MailEnable administrator -> Servers-> localhost-> Connectors -> SMTP -> Logs -> Activity and Debug logs. There you can see the address being used to send e-mail (it can be incorrect too) and also the error itself.
To make sure that MailEnable has the correct whitelist, you should check the whitelist under MailEnable Administrator -> ... -> SMTP Connector -> Properties.

So, how are the results?
 
I am using CDOSYS which is the replacement for CDONTS. CDONTS is not installed on the server, but CDOSYS is, so I'm basically forced into trying to get CDOSYS to work.

Compared with CDONTS it is a pain in the neck as it gives "The SendUsing configuration is invalid" for virtually every possible reason for a Send failing. :mad: This makes it impossible to work out where the problem is, hence the reason for using telnet to try and verify sending e-mail manually via the SMTP.

So I am now attempting to do an AUTH LOGIN once connected to the server in telnet. I figure if I can get something which works manually using telnet, these will be the details I need to supply as authentication in my ASP script and the web form should then send the e-mail. This is as far as I had got before my last post here, but as I've said before, I have no user name/password other than the admin details so what would I use to authenticate? The e-mail addresses for the domain are located on a completely different server to the website. E-mail to/from these e-mail addresses works - it is only web forms from the website to one of these addresses which don't.

I do not have access to the machine itself. This is (presumably) located at Pipex (our ISP). I can only access it via the Plesk or Virtuozzo control panels, ftp or telnet from my machine here. Can I actually start a telnet session on the server? I thought running a telnet session here and then connecting to port 25 on the ip address of the server let me use the SMTP of the server?

There is no MailEnable icon in the control panel? :confused:
I have an option shown as Mail at both the server and the domain level of Plesk but neither of these contain the sequence you specify.
 
Have you tried disabling mail for the domain through the mail services icon and then click on disable mail for the domain. If you are using an external mail server for your website and not the one built into plesk you must disable the mail service for the domain. Otherwise when you send an e-mail via a webform it will look at the plesk server for the e-mail address and give you the invalid or incorrect user instead of sending the e-mail to your correct mailserver.
 
I do not have access to the machine itself. This is (presumably) located at Pipex (our ISP).

Oh yes you do! :)

You can Remote Desktop into the VPS using the IP address of the server, and using the "administrator" login. Just use the same password as was given to you for Plesk when you started the account. To be honest, with all the problems I'm having with Plesk on my VPS, and the TERRIBLE support from Pipex, I'm solely using Remote Desktop to keep the machine alive! :(

With regards to your problem sending email via a web form, I can't help too much with the ASP side of things, but I've got this working on my ASPX pages. I'm using SMTPMail, and the SmtpMail.SmtpServer property needed is the name of the VPS server (once you log in to your VPS via remote desktop, you should see that VPS no in the top right hand corner).

Hope this helps...
 
Try this in root (or ask your hoster):

Mailenable Administrator -> Servers -> Localhost -> Connectors -> SMTP right click properties -> Relay -> Allow relay for local sender adresses.

:)
 
Back
Top