Monday, August 29, 2011

Re: CAKEPHP Email component not working in live server.. how to get the error response why that mail is not going

Can you send an email VIA command line (sendmail or postfix)?


On Aug 29, 2011, at 4:42 AM, Gmail Support wrote:

Hi 

  Thanx for your response. But my controller has 4 mail functions but none of the mails are going in Live server only. Still I try to find a solution.

When a third party guys hitting our url we are sending mail to users. This is working in my local. But i not used auth component or any authentication in this controller.
So I thinking that problem regarding that only. So I Plan to copy and move the email contents to another controller, at the same time i will follow your things 



On Tue, Aug 23, 2011 at 12:13 PM, ShadowCross <adriano@jps.net> wrote:
If using the EmailComponent works in other parts of your controller,
and the "code excerpt" you provided was just manually entered into
your original email (the first two lines would have resulted in a
syntax error as it is written) you can try adding

 $this->Email->return = "Mysitename <bounces@mysite.com>";

before the call to $this->Email->send().  This will add the
appropriate mail header to indicate what email address to send
bounceback emails.  I've had some domains (such as gmail.com) refuse
emails from my webserver because its a shared host that was at one
time flagged as a potential spam source.  The bounceback emails are
normally sent to the FROM address, but it looks like the FROM you are
using is something like 'no-reply@mysite.com', which probably doesn't
exist, so any delivery errors (remote mailserver down, remote user has
exceeded his quota, unknown user, etc.) are being delivered into the
ether.

It may also be possible that the receiving email client is routing
your email to a spam folder. In this case, there will be no bounceback
email. You could display a message like "The email has been sent to
<sam...@gmail.com>. Please make sure that <no-re...@mysite.com> is on
your list of trusted senders to avoid the mail being sent to your Spam
folder.".  Of course, this will only work if the email is being sent
as a direct result of the user interacting with your website.

Note: The fact that $this->Email->send() returns true doesn't mean the
email was delivered; usually, it will use the PHP mail() function, and
according to the PHP manual (http://php.net/manual/en/
function.mail.php):

 Returns TRUE if the mail was successfully accepted for delivery,
FALSE otherwise.
 It is important to note that just because the mail was accepted for
delivery, it does NOT mean the mail will actually reach the intended
destination

BTW: Is there a reason you are wrapping the $this->Email->send()
within ob_start()/ob_end_clean() ? Output buffering generally only
deals with output that is being sent to the client browser, but $this-
>Email->send() and $this->log() shouldn't be sending anything to the
browser (unless you have Debug > 0, in which case you WANT to see the
debug messages).

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php


--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
 
 
To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

No comments: