最新文章

頁: 1 ... 8 9 [10]
91
email relay 問題?

非也.

這封信件,是走正常流程,從別台 smtp 主機發到我的主機
postfix 這邊抓的 header info From 是 nafees.ahmad@f.xxx.com ,非我們本機用戶 boss@我的郵件網域名稱.ltd
我這邊 Postfix with SASL 才能使用本機用戶發信,所以沒有 open relay 問題.
而是收件端的使用者,收信軟體 在呈現寄件者時會只顯示 Boss <boss@我的郵件網域名稱.ltd> (對 From 而言被當成名稱顯示) 後面的 寄件者信箱 nafees.ahmad@f.xxx.com 被影藏起來了,所以使用者會認為是內部發送的,就失去戒心..後面的事可大可小了..
92
email relay 問題?
93
最近被以下這一類型的信件(廣告,病毒 都有) 給搞慘了
mail header 如下.
代碼: [選擇]
X-Virus-Scanned: amavisd-new at 我的郵件網域名稱.ltd
Authentication-Results: 我的郵件網域名稱.ltd (amavisd-new); dkim=pass (2048-bit key)
header.d=f.xxx.com
Received: from 我的郵件網域名稱.ltd ([127.0.0.1])
by localhost (我的郵件網域名稱.ltd [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id QKqrNPDJwAkv for <bruce@我的郵件網域名稱.ltd>;
Tue, 20 Nov 2018 18:33:48 +0800 (CST)
X-Original-Helo: srv.xxx.xxx
Received: from srv.xxx.xxx (unknown [49.50.x.x])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by 我的郵件網域名稱.ltd with ESMTPS id 190701A0ED4
for <bruce@我的郵件網域名稱.ltd>; Tue, 20 Nov 2018 10:33:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=f.xxx.com
; s=default; h=Content-Type:MIME-Version:Subject:Message-ID:To:From:Date:
Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description:
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=oeKpNXzelCcu0Pa2JZ/kEccBY9jBf7XUbeiA+zDBB0Y=; b=ZPlhjtkzYLHgdoqK7HlWnbgDHA
GeQrNUQTlDBhLF1T+LxZRf5Np9zkr6tXGrhikSmT0qaCQcYFtGOu6dLdwmYF6eqNMqXRHBug24vKu
kht7/9BF9XWeaVcy51TFG9DuMjQLP3D+nBv57Gin2PCv7C4MpYf9Mgp8SFvJuA9++s1mcPx9WonWC
b9JxOQnDgokuP1qM9GGvclyUiJzYNZwY7fdfNfYF8Oic1+J+DNYOIgnHQgLWeSWvdXQ+RZZFEgk5g
l5YeJq79kyW/5YmqMJUTlupc6ZDqVocFWvHxMb7JjegGkRW45bbqYPRERYfLzL+sJrK9qi61EX18v
L237kRFw==;
Received: from 59-124-x-x.hinet-ip.hinet.net ([59.124.x.x]:22194 helo=10.8.9.10)
by srv.xxx.xxx with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
(Exim 4.91)
(envelope-from <nafees.ahmad@f.xxx.com>)
id 1gP3LI-000RCM-RQ
for bruce@我的郵件網域名稱.ltd; Tue, 20 Nov 2018 16:03:17 +0530
Date: Tue, 20 Nov 2018 02:33:21 -0800
From: Boss <boss@我的郵件網域名稱.ltd> <nafees.ahmad@f.xxx.com>
To: bruce@我的郵件網域名稱.ltd
Message-ID: <10343280482126316992.119B469581C5721A@我的郵件網域名稱.ltd>

亮點在 From , 系統會抓到實際發信者 nafees.ahmad@f.xxx.com , 所以不會被判斷成是本機的寄件者 (boss@我的郵件網域名稱)發信,
但收件者端的收件者,收信軟體(Outlook)上卻是顯示 Boss <boss@我的郵件網域名稱> . 讓收件者以為是自己內部的人寄來的信..

另類的偽造內部寄件者發信,請問這有辦法阻擋或是過濾嗎?

目前系統為:
postfix + amavisd + spamassassin

以上,感謝!
94
Linux 討論版 / Re: 請問最簡單的webmail
« 最新文章 由 hoyo 2018-11-15 13:07 »
現在的工作是專職寫程式,就培養寫出 「大家都看得懂」的程式 (不是優美或是精簡)

因為看不懂維護起來很慘 .....
95
Linux 討論版 / Re: 請問最簡單的webmail
« 最新文章 由 dark 2018-11-15 12:35 »
感謝 hoyo 大的範例指點

兩位大大貼的 github 小弟之前試過都不行
早上用 hoyo 大的 , 仍然不行
由於 hoyo 大寫的簡單明瞭 , 於是照著模仿試寫
跳出了不支援 mailparse_msg_create 後
搞到剛剛才了解什麼是 php 擴充 ...

那兩個連結都有提到 pear 或 pecl
偏偏小弟就缺這麼重要的 php 常識  :'(

hoyo 大的程式已經可以 work 了
接下來細部的需求 , 小弟理當知道該怎麼做了
等寫完再貼上來請各位大大指點


96
Linux 討論版 / Re: 請問最簡單的webmail
« 最新文章 由 asako 2018-11-13 16:36 »
https://github.com/php-mime-mail-parser/php-mime-mail-parser 也許可用

目前流通的 PHP email parse 都有多多少少的問題,例如附件解析不出來或是該 base64 decode 卻沒有 decode

所以還是要自己拿 Mailparse  libary 自己寫遇到問題才比較容易解決

http://php.net/manual/en/book.mailparse.php



只是問題出在最開始說的,Gmail 流行了,自己搞 Mail Server 的人少了,所以相關資訊及文件相對就少了

我比較喜歡用別人的輪子,不合再改輪子
97


課程名稱: ARM智慧物聯網平台應用人才養成 

--------------------------------------------------------------------------------------------------------------------------------------------------------

-----------------早點報名送ARM Cortex M系列+TFT LCD套件包,價值NT $7000-----------------

--------------------------------------------------------------------------------------------------------------------------------------------------------

課程重點:

課程著重在ARM單晶片即時作業系統與感測器物聯網技術整合,使用低功耗高性能ARM單晶片實作物聯網中的感知網路層,
搭配即時作業系統實現即時多工感測實體,打造屬於自己的智慧聯網家電。並強調業界實務為導向。
課程的階段性銜接脈絡清晰、循序漸進,使用技術講師群自行研發開發平台搭配多樣的周邊感測模組,
有助於學員在時程內完整吸收課程精華,快速踏入物聯網領域並擁有專業能力與就業競爭力,能夠立即投入智慧電子產業。

--------------------------------------------------------------------------------------------------------------------------------------------------------

課程大綱:

[1] C語言程式設計與資料結構

[2] 電子電路基礎

[3] 嵌入式應用軟體設計(Android應用程式開發)

[4] 嵌入式處理器實務開發(ARM Cortex-M0)

[5] 嵌入式處理器實務開發(ARM Cortex-M3/M4)

[6] 單晶片ARM Cortex-M3/M4模組應用實作練習

[7] ARM單晶片物聯網整合實作

[8] 嵌入式即時作業系統移植實作

[9] ARM藍牙物聯網通訊開發(ARM Bluetooth IOT communications development)

[10] 物聯網單晶片模組應用實作練習

[11] 求職技巧與就業輔導





參考網址:ttp://www.cadtc.com.tw/2017newarm/

上課講師親自撰寫授課教材
★歡迎參加免費說明會/40分鐘簡報說明/可來電預約02-2311-7355

|
--------------------------------------------------------------------------------------------------------------------------------------------------------
諮詢專線: 02-2311-7355
傳真專線: 02-2331-3591
服務地址:台北市中正區開封街一段2號9樓
         (近台北火車站新光三越站前店,館前路口/麥當勞隔壁大樓9樓)
營業時間:週一至週五 9:00~21:30   周六日9:00 ~ 17:30
服務信箱:grace@cadtc.com.tw
中華數位ETC嵌入式科技學院 www.cadtc.com.tw
----------------------------------------------------------------------------------
http://他們為什麼都選中華數位
 ● 中華數位技術分享區
 ● 中華數位-課程專題實作影片
 ● 中華數位-FB粉絲團
98


專業技術開發應用課程,在2018擁有最佳的職場競爭力!!!
一次學會兩套即時作業系統,與業界開發接軌

--------------------------------------------------------------------------------------------------------------------------------------------------------
【好康優惠!】報名全修課程再送開發板 機會難得 報名要快!
點這裡報名-->http://cadtc.com.tw/m4/arm_real_time.html
--------------------------------------------------------------------------------------------------------------------------------------------------------

課程名稱:ARM即時作業系統移植實作 



課程簡介
即時作業系統有別於一般作業系統,強調工作的即時性,常用於車用電子,飛航交通系統上,本課程使用目前業界最廣泛應用的ARM Cortex-M4單晶片核心,學習即時作業系統移植與開發應用,首創一次學會兩套即時作業系統,uC/OS-II 與FreeRTOS在業界應用上都佔有一席之地,透過本課程豐富的多工應用範例,學員們對即時作業系統在ARM平台上的使用會更加了解。

課程大綱
> ARM即時作業系統移植實作
1. Introduction to RTOS (即時作業系統介紹)
2. Porting uC/OS-II to ARM Cortex-Mx (移植uC/OS-II 到ARM Cortex-Mx平台)
3. uC/OS-II and it's Applications (uC/OS-II 應用範例)
4.Porting FreeRTOS to ARM Cortex-Mx (移植FreeRTOS到ARM Cortex-Mx平台)
5.FreeRTOS and it's Applications (FreeRTOS 應用範例)
6. Integrate RTOS (RTOS整合實務))


對課程內容有興趣、想進一步了解者,歡迎來電預約參加免費說明會
諮詢專線: 02-2311-7355
傳真專線: 02-2331-3591
服務地址:台北市中正區開封街一段2號9樓
              (近台北火車站新光三越站前店,館前路口/麥當勞隔壁大樓9樓)
營業時間:週一至週六 9:00~21:30   周日9:00 ~ 18:00
服務信箱:grace@cadtc.com.tw
中華數位ETC嵌入式科技學院 www.cadtc.com.tw

99
Linux 討論版 / Re: 請問最簡單的webmail
« 最新文章 由 hoyo 2018-11-13 09:52 »
https://github.com/php-mime-mail-parser/php-mime-mail-parser 也許可用

目前流通的 PHP email parse 都有多多少少的問題,例如附件解析不出來或是該 base64 decode 卻沒有 decode

所以還是要自己拿 Mailparse  libary 自己寫遇到問題才比較容易解決

http://php.net/manual/en/book.mailparse.php

只是問題出在最開始說的,Gmail 流行了,自己搞 Mail Server 的人少了,所以相關資訊及文件相對就少了
100
Linux 討論版 / Re: 請問最簡單的webmail
« 最新文章 由 hoyo 2018-11-13 09:48 »
代碼: [選擇]
<?php
ini_set
('display_errors',true);
ini_set('error_reporting',E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

mb_internal_encoding('UTF-8');

const 
path '/var/spool/mail';

$userArray scandir(path);
$users =array();

foreach( 
$userArray as $k=>$user ){
    if ( 
$user !='.' && $user !='..' ){
        
$users[] = $user;
    }
}

// 選取了使用者信箱
if ( $_GET['a'] =='user' ) {

    
$mail = array();
    
$m '';

    
$f path .'/'$_POST['user'];
    
$handle = @fopen($f"r");
    
$mail $body = array();
    
$i = -1;
    if (
$handle) {
        
$header true;
        while ((
$line fgets($handle4096)) != false) {
            if ( 
preg_match('/^From /'$line) ){
                
$header true;
                ++
$i;
                
$mail[$i] .= $line;
            }
            else{
                if ( 
$header == true ) {
                    
$mail[$i] .= $line;
                }
                else{
                    
$body[$i] .= $line;
                }
            }

            if ( 
preg_match('/^\n$/'$line) ) {
                
$header false;
            }
        }
        
fclose($handle);
    }
    
    
// 讀取單一信件
    
$m = array();
    foreach( 
$mail as $k=>$v ){
        
// 將信件內容丟進 mailparse 進行解析
        
$mime mailparse_msg_create();
        
mailparse_msg_parse($mime$v);

        
// 讀取信件結構 -> header & body
        
$structure mailparse_msg_get_structure($mime);
        
$parts = array();
        foreach(
$structure as $part_id) {
            
$part mailparse_msg_get_part($mime$part_id);
            
$parts[$part_id] = mailparse_msg_get_part_data($part);

            
// 將信件結構存入陣列
            
$m[$k] = $parts[$part_id];
        }
        
//print_r($m);
    
}

    
$mail = array();
    foreach( 
$m as $k=>$v ){
        
$mail[$k]['subject'] = mb_decode_mimeheader($v['headers']['subject']);
    }

    if ( 
count($m) >=){
        
$Return = array( 'Result'=>true'Data'=>$mail );
    }
    else {
        
$Return = array( 'Result'=>false );
    }
    echo 
json_encode($Return);
    exit;
}

//
if ( $_GET['a'] =='mail' ) {
    
$mail = array();
    
$m '';

    
$f path .'/'$_POST['user'];
    
$handle = @fopen($f"r");
    
$mail $body = array();
    
$i = -1;
    if (
$handle) {
        
$header true;
        while ((
$line fgets($handle4096)) != false) {
            if ( 
preg_match('/^From /'$line) ){
                
$header true;
                ++
$i;
                
$mail[$i] .= $line;
            }
            else{
                if ( 
$header == true ) {
                    
$mail[$i] .= $line;
                }
                else{
                    
$body[$i] .= $line;
                }
            }

            if ( 
preg_match('/^\n$/'$line) ) {
                
$header false;
            }
        }
        
fclose($handle);
    }
    
    if ( 
count($m) >=){
        
$Return = array( 'Result'=>true'Data'=>$body[$_POST['mail']] );
    }
    else {
        
$Return = array( 'Result'=>false );
    }
    echo 
json_encode($Return);
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"/>
    <title></title>
    <style>
        *{
            font-size: 16px;
        }
        pre{
            background-color: #eee;
            border: 1px solid #aaa;
            border-radius: 8px;
            padding: 16px;
            margin: 16px;
        }
        .box{
            margin: 16px;
            padding: 16px;
            border-radius: 8px;
            border: 1px solid #ddd;
        }
    </style>
</head>
<body>

<div class="box">
    <label>選擇使用者帳號:
        <select name="user" onchange="selectUser(this)">
            <option value="">- 選擇信箱 -</option>
            <?php foreach($users as $k=>$v){ ?>
                <option value="<?php echo $v;?>"><?php echo $v;?></option>
            <?php ?>
        </select>
    </label>
</div>

<?php echo $_POST['user'];?>

<div class="box">
    <label>選取信件:
        <select name="mail" onchange="readMail(this)"></select>
    </label>
</div>

<div>信件內容:</div>
<pre id="MailBody"></pre>

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
    var user = '';

    function selectUser(obj){
        var $this = $(obj);
        user = $this.val();

        $.ajax({
            url: '?a=user',
            type: 'post',
            data: {
                user: $this.val()
            },
            dataType: 'json',
            success: function(json){

                var h = '<option value="">- 選擇信件 -</option>';
                if ( json['Result'] ==true ){
                    $.each( json['Data'], function(k,v){
                        h += '<option value="'+ k +'">'+ v['subject'] +'</option>';
                    } );
                }

                $('[name="mail"]').html(h);
            }
        });
    }

    function readMail(obj){
        var $this = $(obj);

        $.ajax({
            url: '?a=mail',
            type: 'post',
            data: {
                user: user,
                mail: $('[name="mail"]').val()
            },
            dataType: 'json',
            success: function(json){

                var h = '';
                if ( json['Result'] ==true ){
                    h += json['Data'];
                }

                $('#MailBody').html(h);
            }
        });
    }
</script>
</body>
</html>

獻上 hoyo 版本, MIME 格式郵件還沒繼續處理,需要的人把 mail 區段 $body 繼續解析即可
頁: 1 ... 8 9 [10]