Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

oscommerce works with Q-mail?


Jaime

Recommended Posts

Posted

The sendmail is not the mail program that my server use, it use Q-mail. My quiestion is "oscommerce works with Q-mail?" or I need to install sendmail? I ask this because I have problems with the mails, the customers and the owner don't resive any mail.

 

I will apreciete any kind of help

Posted

Doh! Crossposting bad. This is probably the better category though so I moved my reply over here.

 

Usually Qmail installs a symbolic link to itself in place of the sendmail program. Since Sendmail is so ubiquitous it's just easier.

 

You should have something like this

 

/usr/sbin/sendmail -> /usr/sbin/mailwrapper

 

So I'd guess the hassle is with your install of qmail or where osC is looking. But that's just a guess

 

HTH,

Iggy

Everything's funny but nothing's a joke...

Posted

Thanks for your coment, but theserver don't have sendmail install, and the other file that you give me don't exist.

Posted

Not having the /usr/sbin/sendmail link would likely be the problem then. Does /usr/sbin/mailwrapper exist?

 

If it does just make a symbolic link and see if it works.

 

ln -s /usr/sbin/mailwrapper ./sendmail ought to do the trick.

 

Iggy

Everything's funny but nothing's a joke...

Posted
/usr/sbin/sendmail exist

/usr/sbin/mailwrapper doesn't exist

 

You might want to recompile Qmail and replace sendmail entirely then as it IS installed or is /usr/sbin/sendmail a symbolic link to ? Try taking this question to Google for more specifics.

 

Iggy

Everything's funny but nothing's a joke...

Posted

Based on your ability to see the existence of the files I am guessing you have command line access through either telnet or SSH (hopefully SSH as it is more secure).

 

At the command line enter:

 

cd /usr/sbin

 

ls -la | grep sendmail

 

If the right side of the output looks like this:

 

sendmail -> /var/qmail/bin/sendmail

 

Then that is a symlink and that part of things is set up correctly.

 

If it looks like this:

 

sendmail

 

then it is a sendmail file and not a link to qmail and that would be a problem.

 

If you installed qmail yourself, then I would say you might try installing it again. If someone else installed it for you, they should be willing to troubleshoot it for you.

Rule #1: Without exception, backup your database and files before making any changes to your files or database.

Rule #2: Make sure there are no exceptions to Rule #1.

Posted

I check that and it is like you say it's correct.

But I still have the problem, I change the owners mail to one that is in the same domain and it arravies, but the others mails don't resive anything

Posted
I check that and it is like you say it's correct.

But I still have the problem, I change the owners mail to one that is in the same domain and it arravies, but the others mails don't resive anything

 

Ok, now that did ring a bell. We had a similar experience. I had to get some help on that one too. I believe these were the only changes that were made and it has worked every since.

 

NOTE: As with any changes to your files, always make backup copies before making any changes. This solution is working on my server running qmail and osCommerce 2.2 Milestone 2 but there is no guarantee that it will work on yours. If it doesn't work for your's, roll back to the backup copies of the files and keep on looking for a solution.

 

in /catalog/includes/classes/email.php find:

 

 

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));
} else {
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:

 

 

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));
} else {
$email_address_parts = explode([email=""]'@'[/email], STORE_OWNER_EMAIL_ADDRESS, 2);
putenv('MAILHOST=' . $email_address_parts[1]);
putenv('MAILUSER=' . $email_address_parts[0]);
putenv('MAILNAME=' . STORE_OWNER);
return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));
}

 

In /admin/includes/classes/email.php find:

 

 

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));
} else {
return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));
}

 

Replace with:

 

 

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));
} else {
$email_address_parts = explode([email=""]'@'[/email], STORE_OWNER_EMAIL_ADDRESS, 2);
putenv('MAILHOST=' . $email_address_parts[1]);
putenv('MAILUSER=' . $email_address_parts[0]);
putenv('MAILNAME=' . STORE_OWNER);

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

 

I hope that fixes you up. Another thing worth checking into is to make sure your dns includes a reverse dns record. You can use dnsstuff.com to check your dns settings.

Rule #1: Without exception, backup your database and files before making any changes to your files or database.

Rule #2: Make sure there are no exceptions to Rule #1.

Archived

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

×
×
  • Create New...