جستجو
زمانی که متن خود را وارد می نمایید در صورت وجود اطلاعات ، اطلاعات مورد نظر بصورت همزمان و بدون زدن هیچ دکمه ای نمایش داده می شود.
عضویت در خبرنامه
جهت لغو عضویت کلیک نمایید
شمارشگر شبکه های اجتماعی
پسندیده
0
فیسبوک
0
توییتر
0
گوگل پلاس
0
لینک ادین
11
نمودار بازدید از موضوع ها
نویسنده : phpro.ir تعداد بازدید : ۳۸۹ تاریخ : یک شنبه, ۱۵تیرماه ۱۳۹۳
خواندن ایمیل ها با php
امتیاز دهید
تعداد رای 0 امتیاز 0

با استفاده از کلاس زیر میتونید ایمیل هایی که توی inbox دارین رو بخونین.این کلاس ممکنه جاهایی کاربرد داشته باشه مثلا اینکه یک ایمیل بسازید و بخواید به صورت خودکار ایمیلهایی که بهش میاد رو پردازش کنید و در جوابش چیزی رو ارسال کنید.

 

<?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 = "yourserver.com";
    private $user   = "email@yourserver.com";
    private $pass   = "yourpassword";
    private $port   = 143; // adjust 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;
    }
}

?>

دقت کنید که متغیر های $server , $user , $pass رو تغییر بدین.متغیر $port رو هم باید مطابق با تنظیمات سرور تون باید تغییر بدین.

 

comments powered by Disqus
تبلیغات
آخرین تصاویر
شهر تاریخی جیزد باغ شازده ماهان عمارت و باغ نشاط (سالار) تقی آباد غار پرده رستم کاروانسرای شاه عباس یونسی حلزون اسب در کوهستان بچه پنگوئن بچه میمون ديگو کاستا دنی آلوز میامی هیت پیرلو فرانچسکو توتی لیونل مسی طوطی دریا جاده زمستانی گورخر ... ... پل کلبه ببر
وضعیت آب و هوا
  • یزد
  • ارومیه
  • اصفهان
  • البرز
  • مشهد
  • شیراز
  • تبریز
  • تهران
  • زاهدان
  • اهواز
  • زنجان
  • رامسر
  • بابلسر
  • کرمانشاه
  • بندرعباس
  • کرمان
  • گرگان
  • یاسوج
  • همدان
  • آبادان
  • مکه
موضوعات مشابه