本文介绍了在symfony2中通过IMAP检索邮件的正确方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须使用IMAP在symfony2中开发简单的邮件客户端.我想知道从服务器检索消息的最佳方法是什么(以gmail为例)?
I have to develop simple mail client in symfony2 using IMAP. Im wondering what is best way to retrieve messages from server (lets take a gmail as example)?
我做了这样的事情:
public function indexAction($name) { $user = 'adress@gmail'; $password = 'password'; $mailbox = "{imap.gmail:993/imap/ssl}INBOX"; $mbx = imap_open($mailbox , $user , $password); $ck = imap_check($mbx); $mails = imap_fetch_overview($mbx,"1:5"); return $this->render('HtstMailBundle:Mail:index.html.twig',array('name'=>$name,'mail'=>$mails)); }这是正确的方法吗?它可以工作,但是与symfony的标准"兼容吗?
is this right way, or not? It works, but is it compatible with symfony "standards"?
推荐答案这与symfony的标准"无关.但是,如果将所有登录名移至服务类并使用symfony DepencyInjection来创建并获取服务,则可以使代码更加面向对象:
This has nothing to do with symfony "standards". But you can make your code more OOP if you move all login to a service class and use symfony DepencyInjection to create and get your service:
public function indexAction($name) { $user = 'adress@gmail'; $password = 'password'; $mailbox = "{imap.gmail:993/imap/ssl}INBOX"; $mails = $this->get("mail.checker")->receive($user, $password, $mailbox); return $this->render('HtstMailBundle:Mail:index.html.twig',array('name'=>$name,'mail'=>$mails)); }类声明:
class MailChecker { public function receive($user, $password, $mailbox) { ...imap_check()... } }服务声明:
services: mail.checker: class: Project\YourBundle\Service\MailChecker更多推荐
在symfony2中通过IMAP检索邮件的正确方法
发布评论