我嘗試用SwiftmailerBundle電子郵件以及使用多個郵件程序,swiftmailer.mailer.reserve使用Gmail和我有錯誤:Symfony的SwiftmailerBundle和Gmail有錯誤
Notice: Undefined property: Swift_Message::$*Swift_Mime_SimpleMimeEntity*_body
我config.yml:
swiftmailer:
default_mailer: default
mailers:
default:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
reserve:
transport: "%mailer_transport1%"
host: "%mailer_host1%"
username: "%mailer_user1%"
password: "%mailer_password1%"
spool: { type: memory }
我parameters.yml:
mailer_transport1: gmail
mailer_host1: smtp.gmail.com
mailer_user1: ***@gmail.com
mailer_password1: ***
和我的控制器:
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('[email protected]')
->setTo($user->getEmail())
->setBody(
$this->renderView(
// app/Resources/views/Emails/registration.html.twig
'MyBundle:Mail:start.html.twig',
array('user' => $user, 'pass' => $pass, 'type' => $this->get('request')->request->get('usersRole'))
),
'text/html'
)
;
$test = $this->get('swiftmailer.mailer.reserve')->send($message);
我嘗試這樣,並有$測試= 1,但沒有電子郵件也許在谷歌需要的東西,配置我不明白
$transport = \Swift_SmtpTransport::newInstance('smtp.gmail.com')
->setPort(465)
->setEncryption('ssl')
->setUsername('[email protected]')
->setPassword('mypass')
;
$message = \Swift_Message::newInstance($transport)
->setSubject('Hello Email')
->setFrom('[email protected]')
->setTo($user->getEmail())
->setBody(
$this->renderView(
// app/Resources/views/Emails/registration.html.twig
'MyBundle:Mail:start.html.twig',
array('user' => $user, 'pass' => $pass, 'type' => $this->get('request')->request->get('usersRole'))
),
'text/html'
)
;
$test = $this->get('swiftmailer.mailer.reserve')->send($message);
堆棧跟蹤
堆棧跟蹤
Failed to authenticate on SMTP server with username "[email protected]" using 1 possible authenticators
500 Internal Server Error - Swift_TransportException
堆棧跟蹤
in vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php at line 181 -
}
}
}
throw new Swift_TransportException(
'Failed to authenticate on SMTP server with username "'.
$this->_username.'" using '.$count.' possible authenticators'
);
at Swift_Transport_Esmtp_AuthHandler ->afterEhlo (object(Swift_Transport_EsmtpTransport))
in vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php at line 307 +
at Swift_Transport_EsmtpTransport ->_doHeloCommand()
in vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php at line 118 +
at Swift_Transport_AbstractSmtpTransport ->start()
in vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php at line 79 +
at Swift_Mailer ->send (object(Swift_Message))
in src/Artel/AdminBundle/Controller/BitController.php at line 172 +
at BitController ->sendEmail (object(Project), object(Developer), object(Bit))
in src/Artel/AdminBundle/Controller/BitController.php at line 75 +
嘗試的Yandex和保存文件中dirrectory
transport: %mailer_transport1%
host: %mailer_host1%
port: %mailer_port1%
username: %mailer_user1%
encryption: %mailer_encryption1%
auth_mode: %mailer_auth_mode1%
password: %mailer_password1%
spool:
type: file
path: "%kernel.root_dir%/../spool"
mailer_transport1: smtp
mailer_host1: smtp.yandex.ru
mailer_user1: ***@yandex.ru
mailer_password1: ***
mailer_encryption1: ssl
mailer_auth_mode1: login
mailer_port1: 465
$mailer = $this->get('swiftmailer.mailer.reserve');
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('[email protected]')
->setTo($user->getUser()->first()->getEmail())
->setBody(
$this->renderView(
// app/Resources/views/Emails/registration.html.twig
'MyBundle:Mail:hello.html.twig'
),
'text/html'
)
;
$test = $mailer->send($message);
,並再次有$測試= 1,但沒有在電子郵件 - > setTo($用戶>的getUser() - >第一個() - > getEmail() )
您可以顯示此錯誤的完整堆棧跟蹤? – xabbuh
更新問題 –