CakePHP E-Mail senden
Ich hab ein problem mit dem senden von E-mail mit CakePHP. Alles giong gut, aber ich habe nicht erhalten alle Einzel-E-mail , ich bin es müde zu senden an 2 verschiedenen E-Mails .
//WebsitesController.php
App::uses('AppController','Controller');
App::uses('CakeEmail','Network/Email');
class WebsitesController extends AppController
{
public $helpers = array('Html','Form','Session');
public $components = array('Email','Session');
public function contact()
{
$this->set('dane', $this->Website->findById(4));
}
public function contact_email()
{ /* all data is taken from contact.ctp, I debuged all data below and it's correct */
$useremail = $this->data['Website']['useremail'];
$usertopic = $this->data['Website']['usertopic'];
$usermessage = $this->data['Website']['usermessage'];
$Email = new CakeEmail();
$Email->from(array($useremail => ' My Site'));
$Email->to('[email protected]');
$Email->subject($usertopic); //all data is correct i checked several times
$Email->send($usermessage);
if($Email->send($usermessage))
{
$this->Session->setFlash('Mail sent','default',array('class'=>'alert alert-success'));
return $this->redirect(array('controller'=>'websites','action'=>'contact'));
}
$this->Session->setFlash('Problem during sending email','default',array('class'=>'alert alert-warning'));
}
}
//Kontakt.ctp
<fieldset>
<?php
echo $this->Form->create('Website',array('controller'=>'websites','action'=>'contact_email'));
echo $this->Form->input('useremail',array('class'=>'form-control'));
echo $this->Form->input('usertopic',array('class'=>'form-control'));
echo $this->Form->input('usermessage',array('class'=>'form-control'));
echo $this->Form->submit('Send',array('class'=>'btn btn-default'));
echo $this->Form->end();
?>
</fieldset>
scheint alles in Ordnung zu sein, auch wenn-Anweisung in der Funktion contact_email zugelassen ist.
Konfiguration ( ich arbeite auf localhost, xampp, netbeans 7.4)
public $smtp = array(
'transport' => 'Smtp',
'from' => array('site@localhost' => 'My Site'),
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
- erhalten Sie die 'Mail gesendet' - Nachricht oder das 'Problem beim senden von E-Mail' angezeigt wird? Ist dein server so konfiguriert werden, um E-Mail senden? Sie überprüfte Ihre spam-E-Mail-Ordner?
- ich bin immer "Mail gesendet" Meldung jedes mal, wenn ich überprüft, spam mehrere Male und nichts ist hier. Und meine Konfiguration ist auf der Unterseite der post
- Ich sehe nicht so etwas wie
$Email->config('smtp');
zu sagen Kuchen zu verwenden, die Konfigurations-array. - diese conf-Datei befindet sich in app/config/email.php ich denke, es gibt keine Notwendigkeit, zu zeigen, dass die Datei
- Nein, aber es kann enthalten viele Konfigurations-arrays, so dass Sie haben, zu erzählen, Kuchen, welches Feld Sie verwenden möchten
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen, diese, Sie habe nicht den config
Folgen Sie bitte den Schritten:
Schritt 1: In dieser Datei (app\Config\email.php)
fügen Sie diese:
Schritt 2: Hinzufügen eines E-Mail-Vorlage (app\View\E-Mails\html\sample.ctp)
Schritt 3: Ändern Sie den code in der Methode, wie unten dargestellt: