Welcome, Guest ( Customer Panel | Login )




 All Forums
 VPCart Forum
 Problems and bugs
 No email to customer
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

rory
Starting Member

18 Posts

Posted - February 15 2007 :  19:51:41  Show Profile  Reply with Quote
When an order goes through, the customer does not seem to be getting an email. Admin gets an order confirm email, but not the customer.
I've checked diag_dbtest.asp and that sends an email fine.
Is there some configuration sttting I'm missing?

Here are the fields in config I found, and their settings. Can't yet find a way to edit these in admin, so doing it directly in the table:
xcustomeremail_mycompany tmp_customeremail.txt
xemail_mycompany [email protected]
xemailcustomer_mycompany Yes
xbillemail_mycompany (this is blank)
xbillemailname_mycompany (blank)
xbillemailsubject_mycompany (blank)
xbilling_mycompany No
xbilltemplate_mycompany tmp_billemail.txt (this template does not exist)

Is there a place to edit these in admin?

thanks

devshb
Senior Member

United Kingdom
1904 Posts

Posted - February 15 2007 :  20:28:07  Show Profile  Visit devshb's Homepage  Reply with Quote
to help see what's really going on with emailing, try taking out the on error resume next line from shopmail.asp, ie this bit near the top of shopmail.asp:

htmlformat=ucase(emailformat)
on error resume next

change that to:

htmlformat=ucase(emailformat)
' BYZ: 16-FEB-2007: Commented out resume to allow errors to be shown:
'on error resume next


also, try this.....

in shopmail.asp, near the top, change:

'my_system=getconfig("xemailsystem")

to:

' BYZ: 16-FEB-2007: Uncommented system setting, and defined variable:
'my_system=getconfig("xemailsystem")
Dim my_system
my_system=getconfig("xemailsystem")

a good way to test emails is to use the contact-us screen (shopcustcontact.asp) and send yourself an email.

the on-error-resume-next line, if not commented-out, will basically continue the process as-if nothing had gone wrong so you and your customers will never know that the email didn't get sent. It's ok for some things like bulk-emailing when some email addresses are in a totally invalid format, but for everything else there's no real reason to not show the error and to halt processing.


Simon Barnaby
Developer
[email protected]
www.BigYellowZone.com
Web Design, Online Marketing and VPASP addons

Edited by - devshb on February 15 2007 20:32:16
Go to Top of Page

rory
Starting Member

18 Posts

Posted - February 15 2007 :  20:34:37  Show Profile  Reply with Quote
Thanks. I'll try taking out "on error"

I did try shopcustcontact.asp and that worked fine.
The strange thing is that it's sending an order confirmation to my admin address, but not to the customer.
Go to Top of Page

rory
Starting Member

18 Posts

Posted - February 15 2007 :  21:30:11  Show Profile  Reply with Quote
Devshb,
You were right on the money - commented our "on error" and got this error printed at the bottom of the thank you page:
error '8004020f'
/shopmail.asp, line 326

Line 326 is Mailer.Send for the CDOSYS mailer.

Here's the weird thing - my admin address still gets the confirmation email. Is that sending out with a different mail component? I noticed the test email sent by the script diag_dbtest.asp used CDONTS.

Everything I've heard tells me to use CDOSYS over CDONTS
However, I currently have a script on the same server that sends mail with CDOSYS, and that one is working fine.
Go to Top of Page

Kidd
VP-CART Super User

Australia
373 Posts

Posted - February 15 2007 :  21:35:59  Show Profile  Reply with Quote
no customer and merchant email should be sent using the same components,maybe your smtp server needs authentication if sending to a different domain? theres a help note where you can add authentication. im not too sure about this matter, but trying will do no harm
Go to Top of Page

rory
Starting Member

18 Posts

Posted - February 15 2007 :  22:03:49  Show Profile  Reply with Quote
Kidd,
I will add smtp authentication.

I just solved the problem: on line 298 of shopmail.asp it says:
Const cdoSendUsingPort = 2

However, a comment later says to use port 25 for CDOSYS.
Changied the above port to 25 and it worked - I got my customer email.

I will be adding smtpauth anyway, because I've had problems in the past - some providers will not accept email if they can't correctly identify the server.

Thanks for your help.

Thanks
Go to Top of Page

rory
Starting Member

18 Posts

Posted - February 19 2007 :  13:26:42  Show Profile  Reply with Quote
A little more update in case anyone else runs into this issue. I was incorrect above - Const cdoSendUsingPort = 2 is correct. The 2 doesn't refer to the actual port number.
What I was receiving was the merchant email - after un-commenting "on error" I found the customer email was giving an error at the mailer.send line.

The error was "Fields Update Failed". After a little research, this seemed to be related to my SMTP-Auth settings. Here's my current settings (in mailman.asp) that seem to be working properly:
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") =cdoSendUsingPort
'ToDo: Enter name or IP address of remote SMTP server.
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="mail.mydomain.com" 'my_system
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic (clear-text) authentication
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "myPassword"
Flds.Update

I hard-code my smtp server here, because I can't see where this script is getting my smtp server from. The line setting this in mailman.asp was commented out:
'my_system=getconfig("xemailsystem")

Anyone know the reason for this line to be commented out?
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Snitz Forums 2000
0 Item(s)
$0.00