Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Email not working in catalog


mdr_mike

Recommended Posts

I need help identifying why email is not working with my hosting provider...

 

Does anyone know of a log file I could ask my host to check in order to determine what is going wrong? Or better yet, if you could share how to fix.

 

Originally, I had a problem where I could not send email because I did not have access to php.ini on my host's computer -- becuase it's a shared server environment. So I have had to resort to adding code to includes/classes/email.php in both the catalog & admin modules:

 

(at the top of the file after the comments header)

ini_set(sendmail_from, "[email protected]"); 
ini_set(SMTP, "mail.mydomain.com");

 

This mod allows me to send email using the admin module. However, when a customer completes a transaction that causes an email to be sent either

  • A) NOTHING HAPPENS (no email is sent/received)
  • B) They receive an error message (see below for an example)

MY SETUP

osCommerce v2.2 MS2

Windows Server (W2K I think) / IIS

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

 

 

 

EXAMPLE EMAIL ERROR

customer goes to catalog...

selects an item...

adds to cart...

clicks checkout...

clicks "Password forgotten?"

enters thier registered customer email ( [email protected] )

then ... :wacko:boom! :wacko:

 

Warning: mail(): SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in (physical_path)\catalog\includes\classes\email.php on line 503

 

Warning: Cannot modify header information - headers already sent by (output started at (physical_path)\catalog\includes\classes\email.php:503) in (physical_path)\catalog\includes\functions\general.php on line 29

Link to comment
Share on other sites

Good one, I would try

 

ini_set(sendmail_from, "[email protected]\r\n");

 

 

if that doesn't work try changing this in /catalog/includes/classes/email.php line 37

 

if (EMAIL_LINEFEED == 'CRLF') {
       $this->lf = "\r\n";
     } else {
       $this->lf = "\n";
     }

 

to this

//if (EMAIL_LINEFEED == 'CRLF') {
       $this->lf = "\r\n";
     //} else {
      // $this->lf = "\n";
    // }

 

to make sure you are getting CRLF.

while (!succeed) {try()};

 

GMT -6:00

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...