【问题标题】:How to track email from to your codeigniter app如何跟踪来自您的 codeigniter 应用程序的电子邮件
【发布时间】:2018-03-10 23:28:10
【问题描述】:

我正在使用 codeigniter 编写一个应用程序,这显然已经完成,但我只想在其中添加 1 个插件。我想将 Outlook 帐户中的所有电子邮件发送到我的 codeigniter 应用程序。

如果我可以在我的 codenigter 应用程序上发送和接收消息,那就太棒了。

我的第二个问题是如何将我的议程从我的 codeigniter 应用程序 api 到 Outlook 的议程?

【问题讨论】:

    标签: php codeigniter email outlook agenda


    【解决方案1】:

    电子邮件适用于传入 (IMAP)传出 (SMTP) 或类似 POP3 等类似协议。

    因此,您必须在 Outlook 中配置这些设置才能阅读邮件和发送邮件。同样,您可以使用 PHP 阅读邮件并使用 php 发送邮件。

    发送电子邮件:

    您可以使用非常适合外发的 codeigniter 核心电子邮件库。 sending emails codeigniter

    阅读邮件:

    此脚本可以通过提供您提供给 Outlook 的配置来读取您的邮件。

    <?php
    class Email_reader {
    
        // imap server connection
        public $conn;
        // inbox storage and inbox message count
        private $inbox;
        private $msg_cnt;
    
        // email login credentials
        private $server = 'YOUR_MAIL_SERVER';
        private $user   = 'email@mailprovider.com';
        private $pass   = 'yourpassword';
        private $port   = 143; // change according to server settings
    
        // connect to the server and get the inbox emails
        function __construct() {
            $this->connect();
            $this->inbox();
        }
    
        // close the server connection
        function close() {
            $this->inbox = array();
            $this->msg_cnt = 0;
            imap_close($this->conn);
        }
        // open the server connection
        // the imap_open function parameters will need to be changed for the particular server
        // these are laid out to connect to a Dreamhost IMAP server
        function connect() {
            $this->conn = imap_open('{'.$this->server.'/notls}', $this->user, $this->pass);
        }
    
        // move the message to a new folder
        function move($msg_index, $folder='INBOX.Processed') {
            // move on server
            imap_mail_move($this->conn, $msg_index, $folder);
            imap_expunge($this->conn);
            // re-read the inbox
            $this->inbox();
        }
        // get a specific message (1 = first email, 2 = second email, etc.)
        function get($msg_index=NULL) {
            if (count($this->inbox) <= 0) {
                return array();
            }
            elseif ( ! is_null($msg_index) && isset($this->inbox[$msg_index])) 
            {
                return $this->inbox[$msg_index];
            }
            return $this->inbox[0];
        }
    
        // read the inbox
        function inbox() {
            $this->msg_cnt = imap_num_msg($this->conn);
            $in = array();
            for($i = 1; $i <= $this->msg_cnt; $i++) {
                $in[] = array(
                    'index'     => $i,
                    'header'    => imap_headerinfo($this->conn, $i),
                    'body'      => imap_body($this->conn, $i),
                    'structure' => imap_fetchstructure($this->conn, $i)
                );
            }
            $this->inbox = $in;
        }
    }
    ?>
    

    它是一个阅读邮件的基本脚本,您可以根据需要对其进行增强。

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 1970-01-01
      • 2014-07-30
      • 2020-06-25
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      相关资源
      最近更新 更多