Problem with mail function with Zen Cart - php

When someone register in my site, he and me received email, that he register in the site and i that someone register in my site. But when someone order something, me and owner don;t get email for the order. In the options evrething is ok.
What to look for in php files and other files, to fix the automatic reply for mail and copy to my mail?

If you've set your store to use "PHP" as your Email Transport Method, then your email is probably getting trapped by spam detections on your mailserver. That is because your webserver will send the emails unauthenticated, which is the same way that spammers send emails. If you instead switch to SMTPAUTH and provide your SMTP credentials, then Zen Cart will use those details to send the emails with authentication, and thereby not trigger that particular spam detection system.
See your admin screen at: Admin->Configuration->Email Options

The mail is actually sent inside the order class ( /includes/classes/order.php ), around line 1020 if you are using the latest version 1.3.9h. You can try echoing the arguments used in the mail call ( zen_mail() ) to check if everything is right.
Having said that, I would check the admin email settings twice and check that you can send/receive emails sent from the admin ( Tools > Send email ).
Also, do you perhaps have a contribution installed that could modify the order process? Have you check the error logs? If you are using 1.3.9 you have error logs saved by default on the cache folder. Otherwise, you can download and install a very simple official contribution to log the errors.

Related

Send mail to Users after activation by Admin in joomla 3.x

Joomla's default behavior says: It automatically sends users an email after the administrator has activated their accounts. But it doesn't work.
Now I want to add this feature. How to do it? Could not find a proper plugin for that. So I'm thinking about editing the core file.
This is correct - Joomla will always attempt to send an email to an activated user (you can see this in the activate function in the components/com_users/models/registration.php core Joomla file). However, the email may not reach the user if one of the following is true:
The email settings in the Joomla configuration are incorrect. Typically, PHP Mailer is the right setting.
The email is being sent from an IP that is not allowed to send emails on behalf of the domain (this is an SPF issue, which we discussed on our blog here). Make sure that the server IP is in the SPF list for the domain and also make sure that the "From Email" is an email on that very domain.
There are some firewall rules on the server itself blocking emails from being sent.
Your host can typically help you (but is not obliged to) with addressing any of the above 3 issues.

Magento order email not sent to customer

I have a Magento 1.7.0.2 store and I have a problem regarding the order confirmation email sent to customers. Actually, the owner of the store receives the order confirmation but the customer doesn't
Could someone explain or give me a clue about what is happening?
I have to mention that the email confirmation isn't disabled nor the Email communication is disabled
Thanks in advance
Which module are you using for e-mail ?
I would suggest https://github.com/aschroder/Magento-SMTP-Pro-Email-Extension
Also, after installing this, grab PHPStorm editor and install xdebug package on the server, and then debug the whole stuff =)
There could be many things preventing a customer from receiving an order confiromation email.
Make sure the server you are sending the email from (your Magento server) is setup with the correct SPF records. Many email providers will block emails coming from servers that are not authorized to send emails on the domain's behalf.
Also, check your servers email send logs. The send logs will tell you what happened to the email (whether it was sent, bounced back, or rejected). This is the best place to start for debugging email issues.
Lastly, you can try using a SMTP extension that allows Magento to send email using a valid SMTP login. I personally use and recommend SMTP Pro. This extension will also help you debug issues with your emails.

How can one resend a received email as totally NEW email? So no forwarding or re-directs

This has been a massive headache. We use Ning as a our platform for an arts event project. We want to ask our audience to upload photos to our website via an email address. The only issue is that Ning only will give us ridiculous email addresses for this purpose... such as photos34628234896#ourwebsite.com That hardly sticks in the mind!
So I thought, lets just forward emails from an easy to remember email address to the Ning's crazy one... BUT Ning doesn't allow any emails to upload photos if they are detected as being forwarded or redirected. I guess that detection is done through the email header.
So that is why I need a way to redirect an email to another address without that being reflected in the header info in the email. I thought perhaps Outlook receiving the emails from the easy to remember email address, then somehow resending them with a fresh clean header may be the answer? I can code in PHP, and run a home headerless ubuntu server on a domestic internet connection too if that may provide a better answer?
Any thoughts how I could achieve this goal?
If you can forward the email to your server you can have it piped to PHP which can then resend the email for you with whatever email address you wish to be displayed. Just make sure you have things like DomainKeys and SPF records set up for that server or else your chances of the mail being seen as spam will increase.
If you are using an Exchange server, you can use Transport rules to redirect the message, which will pass most forwarding checks. If it does indeed change the headers or something else, you can use the same ruleset to remove or modify them. Most MTAs(Mail Transport) will allow the same sort of functions, but it really depends on which one you use. Postfix is quite flexible.
The changes will be made in
Exchange Management Console
Origanization Configuration
Hub Transport
Transport Rules
Also, and maybe easier, you could simply try to add a secondary delivery address, in the mail flow settings for the fictional user you assign to receive the emails. This would be done in the user properties. Server level forwarding amy not trigger the forwarding blocks that you are encountering, as client forwarding does not work the in entirely the same way. Many clients send the email again, but the server redirects it.
Exchange Management Console
Recipient Configuration
Mailbox
Properties, Mail Flow Settings.
You would enable forwarding in Delivery Options.
Sorry, just noticed that you are using ubuntu, you can simply have postfix redirect the email for you, you will use Postfix Virtual Alias Maps...
Here is a link that describes it perfectly...
http://www.cyberciti.biz/faq/linux-unix-bsd-postfix-forward-email-to-another-account/

sending an email with codeigniter doesn't work when they contain a link

I have a script set up that will email a user an activation link when they insert their email into the provided input.
I'm using CodeIgniter's email class to send the multipart emails and the problem I'm having is that when the email is sent, the debugger says that the email was sent sucessfully but the message is never received.
When I send the email to my internal work email, it sends just fine. But when I send it to my gmail account, it never comes through.
I've managed to track down the issue as being a problem with inserting links within the email. When I remove the link, the email sends fine. I put the link back in and the email is never received by my gmail account.
Has anyone ever come accross this problem or do you have any insight into how to fix this?
your email is being rejected.. this is no CI issue..
Ok, so it sounds like the problem isn't with CodeIgniter or your code, but with the server's mail transfer agent sending it on to the Gmail server.
What happens is CodeIgniter puts together an email and gives it to the PHP engine, which passes it on to the mail transfer agent on the server for sending. The MTA will report back to PHP, and therefore CodeIgniter, that it has received the email properly. As PHP & CodeIgniter's jobs are finished at this point, they will report that they've sent successfully.
Check your spam folder in your Gmail to see if it's been put in there..? I haven't used CI for a while so can't remember exactly, but I think there's an HTML-email parameter you may need to set before you send. If so, Gmail might be expecting this to be set too.
Scroll down to 'Email Preferences' here:
http://codeigniter.com/user_guide/libraries/email.html and set the mailtype to HTML.
If that doesn't work, you will need to debug fully.
To debug the problem properly you will need to be able to access the MTA logs. Is this a local development server or a live production machine? Is it Linux or Windows? If Linux, which distribution? Do you know which MTA you are using? Do you have SSH access to the server?
If you can get SSH access and find out which MTA you have things will be a lot simpler to find out and you'll be able to monitor the outgoing messages and the destination servers' responses as they happen.

PHP sending emails through random email accounts

I'm working on a website that allows you to send emails without registering, and without specifying a sender. You enter the recipient's address, subject, body and send. My problem is sending the message. What I'm trying to achieve:
User clicked send -> Subject,recipient,body sent to PHP -> Server validates the information -> Server creates a random email account -> Server sends the email through the random account created -> Server deletes the account
I'm stuck at the random email account creation step. How do I achieve this with PHP without having to pay for my own SMTP server and without having to use my own gmail/hotmail account.
I googl'd the hell out of this issue and I can't find an answer.
Thanks!
BTW
I'm using Apache to "host" on my own Ubuntu
How do I achieve this with PHP without having to pay for my own SMTP server and without having to use my own gmail/hotmail account.
The way to create E-Mail accounts varies wildly from server software to server software, and is usually not possible from within PHP.
Depending on your server's configuration, though, that might not be necessary: If you set up a catch all address for a domain, many server configurations will allow you to send out mails from any E-Mail on that domain (e.g. 123456789#example.com). Any responses will then go to that catch-all mailbox, the contents of which you will probably want to discard.
You have to realize, though, that this is exactly how spam providers operate. Extreme caution is advised if you don't want to end up on all sorts of spam blacklists.
I don't believe you can create accounts or email accounts on a server, using PHP, as this supersedes PHP's permission level. Sending emails this way is a good way to get your server banned, FYI. Also, if you insist on sending emails like this, why not just specify a dummy From: email address? It would essentially be the same thing as creating a dummy account anyhow.
You may also want to use the -f switch, for PHP's mail(). See php.net/manual/en/function.mail.php

Categories