Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

SMTP Contribution - www.oscommerce.com/community/contributions,901


suhy

Recommended Posts

I've just posted a minor update to the contribution which enhances the debug capability to catch and report errors that occur early in the SMTP protocol exchange.

 

If everything is currently working for you, there is no need to update your distribution. The debug capability only exists to assist in the initial configuration of email parameters

 

Ben

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 339
  • Created
  • Last Reply

Hello bpopelar,

 

I'm trying your contribution who work very well with many servers but i have a problem with the SMTP server of google.

 

When i want to send a mail, the script doesn't stop and i have the message:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\adrome\catalog\admin\includes\classes\class.smtp.php on line 369

 

I use smtp.gmail.com and the secure connection (SSL) is required.

 

Your contribution is ok with an SSL connexion ?

 

Thank you very much ;)

Link to comment
Share on other sites

Hello bpopelar,

 

I'm trying your contribution who work very well with many servers but i have a problem with the SMTP server of google.

 

When i want to send a mail, the script doesn't stop and i have the message:

I use smtp.gmail.com and the secure connection (SSL) is required.

 

Your contribution is ok with an SSL connexion ?

 

Thank you very much ;)

I'm able to duplicate your problem. I'll see if I can figure out what is wrong this weekend

 

Ben

Link to comment
Share on other sites

Hello bpopelar,

 

I'm trying your contribution who work very well with many servers but i have a problem with the SMTP server of google.

 

When i want to send a mail, the script doesn't stop and i have the message:

I use smtp.gmail.com and the secure connection (SSL) is required.

 

Your contribution is ok with an SSL connexion ?

 

Thank you very much ;)

To utilize the TLS protocol to talk to the Google gmail server, define the "SMTP Server Host Address" parameter as:

 

tls://smtp.gmail.com

 

Works like a charm once you do that.

 

Ben

Link to comment
Share on other sites

Hi Ben

 

I get the folowing error in my browser

 

 

 

Warning: fsockopen() has been disabled for security reasons in /home/www/click2shop.co.za/catalog/includes/classes/class.smtp.php on line 102

array(1) { [0]=> string(29) "Failed to connect to server: " } string(52) "

 

SMTP debug enabled in class.smtp.php

 

" array(2) { [0]=> string(29) "Failed to connect to server: " [1]=> string(14) "Not connected!" } string(52) "

 

SMTP debug enabled in class.smtp.php

 

"

Warning: Cannot modify header information - headers already sent by (output started at /home/www/click2shop.co.za/catalog/includes/classes/class.smtp.php:102) in /home/www/click2shop.co.za/catalog/includes/functions/general.php on line 33

 

 

My settings:

 

Title Value Action

E-Mail Transport Method smtp

E-Mail Linefeeds CRLF

Use MIME HTML When Sending Emails true

Verify E-Mail Addresses Through DNS false

Send E-Mails true

SMTP Server Host Address mail.kcsys.co.za

SMTP Server EHLO / HELO Name www.kcsys.co.za

SMTP Server Port Number 25

SMTP Authentication Required true

SMTP Authentication Username [email protected]

SMTP Authentication Password *******

SMTP Server EHLO / HELO Name

 

 

A name to send as part of the SMTP EHLO / HELO commands. The name is typically the hostname of the machine this web site runs on.

 

Date Added: 03/03/2008

Last Modified: 03/07/2008

 

 

Pleeeease help?

 

Tx

 

Roelf

Link to comment
Share on other sites

Hi Ben

 

I get the folowing error in my browser

Warning: fsockopen() has been disabled for security reasons in /home/www/click2shop.co.za/catalog/includes/classes/class.smtp.php on line 102

array(1) { [0]=> string(29) "Failed to connect to server: " } string(52) "

 

SMTP debug enabled in class.smtp.php

 

" array(2) { [0]=> string(29) "Failed to connect to server: " [1]=> string(14) "Not connected!" } string(52) "

 

SMTP debug enabled in class.smtp.php

 

"

Warning: Cannot modify header information - headers already sent by (output started at /home/www/click2shop.co.za/catalog/includes/classes/class.smtp.php:102) in /home/www/click2shop.co.za/catalog/includes/functions/general.php on line 33

 

Tx

 

Roelf

Roelf,

 

The error message means that your SMTP server is not configured to talk on port 25 (or the hostname mail.kcsys.co.za is wrong). You hosting company can tell you what port number to use instead of 25. Quite often a hosting company uses a port number other than 25 in an effort to fight DOS attacks and spamers.

 

URGENT: Change the password on the email account name you just posted. You should not have posted the password and account name. You might want to abandon the account just to be safe.

 

I've requested your prior post be deleted...

 

Ben

Link to comment
Share on other sites

Roelf, your password has been removed from your previous post. I suggest you delete that account and create a new one or change that account password ASAP!

 

Andrew

Andrew Yuen

osCommerce, Community Team

Link to comment
Share on other sites

Hi Ben

 

I spoke to my ISP the port no. and smtp server is correct, but I still get the same error.

 

Can you suggest a free smtp server where I do not need to authenticate or register a e-mail?

 

Tx

 

Roelf

Link to comment
Share on other sites

Hi Ben

 

I spoke to my ISP the port no. and smtp server is correct, but I still get the same error.

 

Can you suggest a free smtp server where I do not need to authenticate or register a e-mail?

 

Tx

 

Roelf

Roelf,

 

In looking back at your error message, it might be that your hosting company has disabled the usage of the fsockopen() function. You can confirm this by looking at admin -> tools -> server info. On this page look in the PHP Core section for the variable disable_functions. If you see fsockopen listed, that explains your problem.

 

Another possibility is that your ISP requires a SSL or TSL connection to the SMTP server. If this is the case, you prepend the protocol identifier to the SMTP Server Host Address parameter (e.g., tsl://mail.kcsys.co.za).

 

I don't know of any free email server that do not require authentication (Google Mail requires authentation).

 

I take it you loaded this contribution because you were told you needed SMTP password authenication. Did you try the baseline osCommerce code? It does not support authenication because it uses the PHP mail() function, but it might work.

 

Ben

Link to comment
Share on other sites

Roelf,

 

In looking back at your error message, it might be that your hosting company has disabled the usage of the fsockopen() function. You can confirm this by looking at admin -> tools -> server info. On this page look in the PHP Core section for the variable disable_functions. If you see fsockopen listed, that explains your problem.

 

Another possibility is that your ISP requires a SSL or TSL connection to the SMTP server. If this is the case, you prepend the protocol identifier to the SMTP Server Host Address parameter (e.g., tsl://mail.kcsys.co.za).

 

I don't know of any free email server that do not require authentication (Google Mail requires authentation).

 

I take it you loaded this contribution because you were told you needed SMTP password authenication. Did you try the baseline osCommerce code? It does not support authenication because it uses the PHP mail() function, but it might work.

 

Ben

 

Yes fsockopen is listed

 

I have tried the baseline both smtp and sendmail options, it shows a mail message has been send, but I do not receive any messages neither does my customers receive any messages from me.

 

Will it help if I create an e-mail account with gmail, and use it for authentication purposes?

 

Thank you for all your assistance thus far, its highly apreciated.

Link to comment
Share on other sites

Yes fsockopen is listed

 

I have tried the baseline both smtp and sendmail options, it shows a mail message has been send, but I do not receive any messages neither does my customers receive any messages from me.

 

Will it help if I create an e-mail account with gmail, and use it for authentication purposes?

 

Thank you for all your assistance thus far, its highly apreciated.

If fsockopen is blocked, the SMTP Authenication contribution is worthless as it use sockets to communicate with the email server (instead of using the PHP mail() function). Back out the changes from your baseline.

 

Is the mail() function listed in the disable_function list? Probably not, but check anyway.

 

Assuming it is not, lets see if we can get you working with the baseline code. Did you try the email_test contribution? Its a small php file that directly calls the PHP mail() function to send an email and then uses the osCommerce tep_mail() function to send the same message. If you haven't used it yet, go to the contribution page and search for "email_test", load it and see what happens.

 

Ben

Link to comment
Share on other sites

Hi,

 

Thank you for fine contribution. I was tearing my hair out, most now gone but still have a few left for this final tearing.

 

Using your version of 15 Feb 2008.

 

On siteground host, it sends the email but when I look in email account that I used for authentication, message is bounced and I see the following. Note that the [email protected] address is an external address, not on siteground. Is this to do with SMTP Authentication? Thanks for your help.

 

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

 [email protected]
No Such User Here

------ This is a copy of the message, including all the headers. ------

Return-path: <[email protected]>
Received: from serv01.siteground157.com ([67.15.245.20]:45679
helo=mail.telemanuals.com)
	by serv01.siteground157.com with esmtpa (Exim 4.68)
	(envelope-from <[email protected]>)
	id 1JZYFk-0008Lc-AS
	for [email protected]; Wed, 12 Mar 2008 16:12:48 -0500
MIME-Version: 1.0
X-Mailer: osCommerce bulk mailer
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
From: [email protected]
To: "rich dorfman" <[email protected]>
Subject: again
Date: Wed, 12 Mar 2008 16:12:48 -0500

again

Link to comment
Share on other sites

I am having a nightmare with my mails!

I have never got any e-mails to work on my shop, nothing what so ever.

 

Reading my ISP's help pages, they bascially pretty much leave you on your own, so installed your contribution to allow me to use a different hosts smtp settings, but I still get nothing at all.

My shop is set up on a different host, bu5t my mail settings are as follows.

 

my Settings are :-

 

E-Mail Transport Method smtp

E-Mail Linefeeds CRLF

Use MIME HTML When Sending Emails false

Verify E-Mail Addresses Through DNS false

Send E-Mails true

SMTP Server Host Address smtp.ntlworld.com

SMTP Server EHLO / HELO Name www.ntl.com

SMTP Server Port Number 25

SMTP Authentication Required false

SMTP Authentication Username

SMTP Authentication Password

 

 

I have tried many different settings, authenticated and not, verify dns and not.

 

I have set debug to true, and no output is given, it just states sent all ok

 

I have also tried other ISP smtp settings, and still nothing.

 

Please help :blink:

Link to comment
Share on other sites

I am having a nightmare with my mails!

I have never got any e-mails to work on my shop, nothing what so ever.

 

Reading my ISP's help pages, they bascially pretty much leave you on your own, so installed your contribution to allow me to use a different hosts smtp settings, but I still get nothing at all.

My shop is set up on a different host, bu5t my mail settings are as follows.

 

my Settings are :-

 

E-Mail Transport Method smtp

E-Mail Linefeeds CRLF

Use MIME HTML When Sending Emails false

Verify E-Mail Addresses Through DNS false

Send E-Mails true

SMTP Server Host Address smtp.ntlworld.com

SMTP Server EHLO / HELO Name www.ntl.com

SMTP Server Port Number 25

SMTP Authentication Required false

SMTP Authentication Username

SMTP Authentication Password

I have tried many different settings, authenticated and not, verify dns and not.

 

I have set debug to true, and no output is given, it just states sent all ok

 

I have also tried other ISP smtp settings, and still nothing.

 

Please help :blink:

What version of the contribution do you have loaded? What type of server are you hosted on (Windows or Linux)? Does your ISP's help page talk about using SSL, TSL, or some other type of secure protocol connection to access the server?

 

Have you tried using an email client program to access/use the SMTP server? It is sometime easier to figure out the correct parameter settings using a standalone email client on your home computer.

 

Ben

Link to comment
Share on other sites

What version of the contribution do you have loaded? What type of server are you hosted on (Windows or Linux)? Does your ISP's help page talk about using SSL, TSL, or some other type of secure protocol connection to access the server?

 

Have you tried using an email client program to access/use the SMTP server? It is sometime easier to figure out the correct parameter settings using a standalone email client on your home computer.

 

Ben

After searching a little, I found an posting here stating that Virgin Media (ntlworld.com) only accepts SMTP connections from a VM IP address. If it is true, that may explain your problem. Is your website hosted on a VM server?

 

Ben

Link to comment
Share on other sites

Yes.It's a great contribution.

And I have installed the version last updated.And I have a same problem like lambro.I have change the different mail server,and have the same operation with ambro have did,I don't recieve any email on the mail box,and I donn't have saw a note on the page when I click "Continue".

Why and how can I do to test what happened.

 

My web server and email server are based on unix system.

 

Thanks for any help.

Link to comment
Share on other sites

Yes.It's a great contribution.

And I have installed the version last updated.And I have a same problem like lambro.I have change the different mail server,and have the same operation with ambro have did,I don't recieve any email on the mail box,and I donn't have saw a note on the page when I click "Continue".

Why and how can I do to test what happened.

 

My web server and email server are based on unix system.

 

Thanks for any help.

Please send me your admin -> configuration - E-mail Options parameters (all except the SMTP Authenication username & password) via a private message. Also include admin -> My Store -> Store Owner, Email Address, and Email From parameters so I can verify they are correctly formatted.

 

Ben

Link to comment
Share on other sites

Hi Ben,

Thanks for your answer, yes the oscommerce is hosted with these people streamlinenet.co.uk :_ who it seems are fasthosts resellers. One thing that they have in their help section is that they do not allow register globals to be switched on, not sure if this is not helping me?

 

I am on a unix server

I am using your 15 Feb 2008 version of the contribution.

I have tried to use both Streamlinenet and two other hosts I use mail on in the hope that at least one of them would work! I tried Virgin/NTL and also Force9/plusnet.

 

On the help pages of streamline,

http://www.streamlinesupport.net/index.php...show&id=144

 

they say this in regards to a sendmail.php page :-

 

In order for the script to work, you need to specify, via a fifth -f parameter, the domain from which the mail is being sent. The PHP component uses SMTP (Simple Mail Transfer Protocol), and all StreamlineNet SMTP servers have filters which ensure that the data returned by either the first or fifth mail parameter relates to one of your domains hosted by StreamlineNet. The final part of the script thanks the visitor for the message. This is done by sending an HTTP header back to the visitor's browser telling it to load a file called thankyou.html from your domain. The /header/function allows you to send any HTTP header back to the browser.

 

 

Thanks for your help

Link to comment
Share on other sites

Hi Ben,

Thanks for your answer, yes the oscommerce is hosted with these people streamlinenet.co.uk :_ who it seems are fasthosts resellers. One thing that they have in their help section is that they do not allow register globals to be switched on, not sure if this is not helping me?

 

I am on a unix server

I am using your 15 Feb 2008 version of the contribution.

I have tried to use both Streamlinenet and two other hosts I use mail on in the hope that at least one of them would work! I tried Virgin/NTL and also Force9/plusnet.

 

On the help pages of streamline,

http://www.streamlinesupport.net/index.php...show&id=144

 

they say this in regards to a sendmail.php page :-

 

In order for the script to work, you need to specify, via a fifth -f parameter, the domain from which the mail is being sent. The PHP component uses SMTP (Simple Mail Transfer Protocol), and all StreamlineNet SMTP servers have filters which ensure that the data returned by either the first or fifth mail parameter relates to one of your domains hosted by StreamlineNet. The final part of the script thanks the visitor for the message. This is done by sending an HTTP header back to the visitor's browser telling it to load a file called thankyou.html from your domain. The /header/function allows you to send any HTTP header back to the browser.

Thanks for your help

The register globals is an issue for osCommerce in general. You will need to load one of the contributions to allow it to run correctly with register globals disabled. I believe this is the contribution to use.

 

You might not need the SMTP authentication contribution based on the hosting company's sendmail.php description. The -f paramerter they are talking about is an option parameter passed to the PHP mail() method. You can try adding the -f parameter to the SMTP contribution code to see if you can get it to work.

 

In the includes/classes/email.php and the admin/includes/classes/email.php files near line 564 find the following code:

		return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));

 

replace it with:

		return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers),"[email protected]");

 

Replace [email protected] with your correct email address.

 

In admin-> configuration -> email options, change:

 

email transport method -> sendmail

email linefeed -> LF

 

Ben

Link to comment
Share on other sites

  • 3 weeks later...

Hi all,

i have a problem sending emails from SMTP with your script BUT no errors are displayed, just the confirmation tells that email has been sent.

How can I find the error??? I have installed last version of your script (15 feb 2008) on a linux server.

Link to comment
Share on other sites

Hi all,

i have a problem sending emails from SMTP with your script BUT no errors are displayed, just the confirmation tells that email has been sent.

How can I find the error??? I have installed last version of your script (15 feb 2008) on a linux server.

The readme file included in the contribution describes how to enable the debug feature. Just follow the instructions, but keep in mind that occasionally the debug feature does not produce any output. I'm still looking for this problem.

 

Ben

Link to comment
Share on other sites

Here goes guys!

 

I have a Windows Shared Server with OSC v.2.2 RC2a running. I have just installed the SMTP mod, which I used on my last installation and it seems that none of the e-mail functions work, except the visitor contact page?

 

Before this installation I had a previous installation that worked fine with the SMTP working!

 

My e-mail settings are as follow...

 

E-Mail Transport Method: smtp
E-Mail Linefeeds: CRLF
Use MIME HTML When Sending Emails: false
Verify E-Mail Addresses Through DNS: false
Send E-Mails: true
SMTP Server Host Address: authsmtp.streamline.net
SMTP Server EHLO / HELO Name: srsmotorcycles.co.uk
SMTP Server Port Number: 25
SMTP Authentication Required: true
SMTP Authentication Username: [email protected]
SMTP Authentication Password: mail_box_password

 

 

Can anyone spot anything out of place?

 

I have tried playing with the settings but still can't get it going?! :rolleyes:

Gazza

If its not broken...why try fixing it??

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...