전자 메일을 보내려면 다음 코드를 작성했습니다.SMTP 서버가 암호를 허용하지 않았습니다.
static function sendEmail($email,$data,$type){
$Email = new CakeEmail();
$Email->config('general');
switch($type){
case 1:
$Email->template('confirmation_free', null);
$Email->subject('Confirmation of registration with XXXXXXXXXXXXX');
$Email->viewVars(array('Email'=>$data["Email"],'full_name'=>$data['full_name'],'Id'=>$data['Id'],'url'=>$_SERVER['SERVER_NAME'], 'password'=>$data['password']));
break;
case 2:
$Email->template('group-invite', 'default');
$Email->subject('XXXXXXXX Group Invite - Notification');
$Email->viewVars(array('Email'=>$data["Email"],'Username'=>$data['Username'],'Id'=>$data['Id'],'url'=>$_SERVER['SERVER_NAME']));
break;
case 3:
$Email->template('forgot_password', null);
$Email->subject('XXXXXXXX - Forgot Password');
$Email->viewVars(array('Email'=>$data["Email"],'Key'=>$data['Key'],'url'=>$_SERVER['SERVER_NAME'],'Id'=>$data['id']));
break;
}
$Email->to($email);
if($Email->send())
return true;
else
return false;
}
다음과 같은 sendgrid smtp 설정.
public $general = array(
'transport' => 'Smtp',
'from' => array('[email protected]' => 'XXXXXX Administrator'),
'host' => 'smtp.sendgrid.net',
'port' => 587,
'timeout' => 30,
'username' => 'XXXXXXX',
'password' => 'XXXXXX',
'client' => null,
'log' => false,
'emailFormat' => 'html'
);
내 로컬 및 dev 서버에서 완벽하게 작동합니다. 그러나 우리는 dev 서버에 SSL을 설치 한 후 다음과 같은 오류가 발생하기 시작했습니다. "SMTP 서버가 암호를 허용하지 않았습니다."
sendgrid 무료 계정을 사용하고 있습니다. SSL이있는 서버에서 전자 메일을 보내려면 유료 계정이 필요합니까?