Я использую плагин Sign Me Up от Jotlab и у меня проблемы с отправкой электронной почты. Я пытался связаться с автором, но пока безуспешно.
Я использую это с плагином ACL, и все, кроме отправки электронной почты, пока работает. Все исследования и поиск неисправностей не привели ни к каким ответам.
Это версия cakephp 2.x, и я знаю, что компонент электронной почты устарел, но должен работать.
Когда я отправляю регистрационную форму, запись вставляется, но электронное письмо не отправляется, и я получаю это сообщение об ошибке.
* * 1010
Вот код, который находится в контроллере для функции регистра:
public function register() {
$this->__isLoggedIn();
if (!empty($this->data)) {
extract($this->settings);
$model = $this->controller->modelClass;
$this->controller->loadModel($model);
$this->controller->{$model}->set($this->data);
if (CakePlugin::loaded('Mongodb')) {
$this->controller->{$model}->Behaviors->attach('Mongodb.SqlCompatible');
}
if ($this->controller->{$model}->validates()) {
if (!empty($activation_field)) {
$this->data[$model][$activation_field] = $this->controller->{$model}->generateActivationCode($this->data);
} elseif (!empty($useractive_field)) {
$this->data[$model][$useractive_field] = true;
}
if ($this->controller->{$model}->save($this->data, false)) {
//If an activation field is supplied send out an email
if (!empty($activation_field)) {
$this->__sendActivationEmail($this->data[$model]);
if (!$this->controller->request->is('ajax')) {
$this->controller->redirect(array('action' => 'activate'));
} else {
return true;
}
} else {
$this->__sendWelcomeEmail($this->data[$model]);
}
if (!$this->controller->request->is('ajax')) {
$this->controller->redirect($this->Auth->loginAction);
} else {
return true;
}
}
}
}
}
«Отправить письмо активации» и «отправить приветственное письмо»:
protected function __sendActivationEmail($userData) {
$this->__setUpEmailParams($userData);
$this->__parseEmailSubject('activation', $userData);
if ($this->__setTemplate(Configure::read('SignMeUp.activation_template'))) {
if ($this->Email->send($userData)) {
return true;
}
}
}
protected function __sendWelcomeEmail($userData) {
$this->__setUpEmailParams($userData);
$this->__parseEmailSubject('welcome', $userData);
if ($this->__setTemplate(Configure::read('SignMeUp.welcome_template'))) {
if ($this->Email->send($userData)) {
return true;
}
}
}
Я прочитал документацию по электронной почте и попробовал несколько вещей, включая переустановку более одного раза.
Любая помощь в устранении неполадок с этими сообщениями об ошибках очень ценится.
Спасибо, Пол