cakephp 2 - Не удалось отправить письмо. на окнах с использованием gmail

66
10

У меня есть эта конфигурация:

class EmailConfig {

public $default = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'myemail@gmail.com',
'password' => 'mypassword');
}

И кодируйте это:

 $Email = new CakeEmail('default');
$Email->viewVars(array('first_name' => $user['User']['first_name'], 'link' => $link, 'last_name' => $user['User']['last_name'], 'otp' => $otp, 'html_link' => $html_link));

$Email->to($username);
$Email->emailFormat('both');
$Email->from('myemail@gmail.com');
$Email->subject("Course Registration");
$Email->template('welcome');
$Email->send();

Это отлично работает на моем Mac, никаких проблем, но в окне окон моих коллег он получает эту ошибку: не удалось отправить электронную почту

Может кто-нибудь объяснить, почему?

Request URL: /Users/activate/165
Stack Trace:
#0 C:\wamp\www\cakephp\lib\Cake\Network\Email\MailTransport.php(47): MailTransport->_mail('pradhan.sabin@g...', 'Course Registra...', '--20cbbe22cace5...', 'From: mmassites...', NULL)
#1 C:\wamp\www\cakephp\lib\Cake\Network\Email\CakeEmail.php(1066): MailTransport->send(Object(CakeEmail))
#2 C:\wamp\www\cakephp\app\Controller\UsersController.php(727): CakeEmail->send()
#3 C:\wamp\www\cakephp\app\Controller\UsersController.php(665): UsersController->otpactivation('165')
#4 [internal function]: UsersController->activate('165')
#5 C:\wamp\www\cakephp\lib\Cake\Controller\Controller.php(486): ReflectionMethod->invokeArgs(Object(UsersController), Array)
#6 C:\wamp\www\cakephp\lib\Cake\Routing\Dispatcher.php(187): Controller->invokeAction(Object(CakeRequest))
#7 C:\wamp\www\cakephp\lib\Cake\Routing\Dispatcher.php(162): Dispatcher->_invoke(Object(UsersController), Object(CakeRequest), Object(CakeResponse))
#8 C:\wamp\www\cakephp\app\webroot\index.php(109): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#9 {main}
2013-06-07 21:09:31 Error: current url is :/Users/activate/165

спросил(а) 2021-01-19T17:14:50+03:00 9 месяцев, 1 неделя назад
1
Решение
128

нормально, поэтому в нижней строке выглядит, что unix/php требует, чтобы почтовый сервер работал на месте, в отличие от ruby /rails, который может напрямую общаться с удаленным сервером. Кажется, что у Windows есть способ сделать эту работу.

В окнах есть способ сделать это, отредактировав свой php.ini:

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=465

Я не тестировал это, поэтому я не уверен, что он работает. Это было для колледжа, который использует окна.

ответил(а) 2021-01-19T17:14:50+03:00 9 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема