私のウェブサイトに実装者の連絡先フォームを希望します。私はsymfony2のドキュメントに従いました: http://symfony.com/fr/doc/current/cookbook/email/email.html
私はsymfony 2.3.3を使用しています。
それが私のconfig_dev.ymlです:
swiftmailer:
transport: sendmail
私のcontactActionコントローラー:
public function contactAction(Request $request)
{
$this->focus = "contact";
$form = $this->createFormBuilder()
->add('Sujet:', 'text')
->add('Service:', 'choice',
array(
'choices' =>
array(
'all' => 'Communication multi-canaux (plusieurs services liés)',
'web' => 'Développement Web',
'webMarketing' => 'Web Marketing',
'mobile' => 'Développement mobile / tablette',
'brand' => 'Brand design',
'event' => 'Evènementiel',
'print' => 'Campagne print',
),
'preferred_choices' => array('all'),
)
)
->add('Nom:', 'text')
->add('Societe:', 'text')
->add('Courriel:', 'email')
->add('message:', 'textarea')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// Les données sont un tableau avec les clés "name", "email", et "message"
$data = $form->getData();
$message = \Swift_Message::newInstance()
->setSubject($data['Sujet'] . $data['Société'])
->setFrom($data['Courriel'])
->setTo('contact@visual-immersion.com')
->setBody($this->renderView('text à placer par la suite'))
;
$this->get('mailer')->send($message);
}
$this->get('mailer')->send($message);
return $this->render('VisualImmersionSiteBundle:Site:contact.html.twig',
array(
'focus' => $this->focus,
'form' => $form->createView(),
));
}
私はこのエラーがあります:
キャッチ可能な致命的エラー: Swift_Transport_SendmailTransport::__construct() に渡される引数 2 は、インターフェイス Swift_Events_EventDispatcher、指定された Swift_Transport_StreamBuffer のインスタンスを実装する必要があり、2129 行目の /var/www/visual-immersion/app/cache/dev/appDevDebugProjectContainer.php で呼び出され、定義されています/var/www/visual-immersion/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php 行 42
どこに問題があるのか 絶対にわかりません。アイデアはありますか、またはこのエラーを経験しましたか?
ご協力ありがとうございました
アップデート:
composerでSwiftMailerパッケージを2.3.2バージョンにダウングレードしました。問題は解決しましたが、今、このエラー メッセージが表示されます。
応答コード 220 が予期されていましたが、コード ""、メッセージ "" を受け取りました
何か案が ?