2

私は非常に奇妙な問題に遭遇しました。私は自分のウェブサイトを介して他の受信者にメールを送信しています.symfonyで、私はこれに非常に慣れていません。ここに私のコードがあります

構成.yml

swiftmailer:
transport:  smtp
host:       smtp.gmail.com
encryption: ssl
username:   "myusername"
password:   "mypassword"
spool:     { type: memory }

ここに私のフォーム機能があります

 public function formemailAction(Request $request)
 {
 // create a task and give it some dummy data for this example
        $newtask = new Task();
        $newtask->setsubject('add subject here');
        $newtask->setdescription("write your feed back here");
        $form = $this->createFormBuilder($newtask)
            ->add('subject', 'text')
            ->add('description', 'textarea')
            ->getForm();

 return $this->render('ServiceRequestBundle:Desk:shownotification.html.twig', array('form' => $form->createView(),
 ));
 }

送信をクリックしたフォームで、メールを送信する関数を呼び出しています

public function sendemailAction()
  {
      $messages = \Swift_Message::newInstance()
          ->setSubject('again Notification Email')
          ->setFrom('myusername@gmail.com')
          ->setTo('username@gmail.com')
          ->setBody("we know that you dont know whats happening" )
      ;
      $this->get('mailer')->send($messages);

      return $this->render('ServiceRequestBundle:Desk:shownotification.html.twig');
  }

今問題は、これが正常に機能していたことです。しかし、4〜5通のメールを送信した後、機能しなくなり、メールが送信されなくなりました。私の最初の推測は、アプリを何度もデバッグしていて、同じメールが何度も何度も送信されたために発生している可能性があるためです。そうであれば、このチュートリアルに従います。この問題を解決するにはどうすればよいですか。他に問題がある場合は、親切に助けてください。

私は自分のphpエラーログをチェックし、これを見つけました

#0 [internal function]: Symfony\Component\HttpKernel\Debug\ErrorHandler->handle(2, 'SessionHandler:...', 'C:\xampp\htdocs...', 558, Array)
#1 C:\xampp\htdocs\jts\app\cache\dev\classes.php(558): SessionHandler->write('tatrpm617uplo16...', '_sf2_attributes...')
#2 [internal function]: Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->write('tatrpm617uplo16...', '_sf2_attributes...')
#3 [internal function]: session_write_close()
#4 {main}
  thrown in C:\xampp\htdocs\jts\app\cache\dev\classes.php on line 
4

2 に答える 2

2

Gmail はスパムと見なし、あなたのアドレスをブロックする可能性があるため、Relay が必要になると思います。

CentOS で PostFix を使用するか、SMTP サーバーをインストールできる Windows で使用できます。

CentOS http://www.postfix.org/

WINDOWS: SMTP サーバーをダウンロードできます

http://www.microsoft.com/en-us/download/details.aspx?id=7887

これらの手順を使用して構成します

http://technet.microsoft.com/en-us/library/cc772058(WS.10).aspx

于 2013-02-25T08:23:56.160 に答える
0

smtp トランスポートの場合は、php ログを確認してください。gmail での認証に問題がある可能性があります。sslの代わりにtlsを試しましたか?

独自の smtp サーバーを介してメールの配信を試みることができます。

まず、サーバーで実行されている smtp サーバーがあるかどうかを確認する必要があります。

netstat -tulpen | grep :25

これにより、次のようなものが返されます。

tcp  0  0 0.0.0.0:25  0.0.0.0:* LISTEN  0  8485 1213/master

そうでない場合は、サーバーの起動を試みることができます。後置の場合、これは次のとおりです。

/etc/init.d/postfix start

それでもメールが届かない場合は確認してください

/var/log/maillog

メールが配信されていない可能性があります。メールログに詳細が表示されます。

于 2013-02-25T07:23:50.563 に答える