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 <boun...@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-re...@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+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to