專利名稱:一種郵件主題自動(dòng)生成方法、裝置與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子郵件發(fā)送,尤其涉及一種郵件主題自動(dòng)生成方法及相應(yīng)的 郵件主題自動(dòng)生成裝置與一種郵件系統(tǒng)。
背景技術(shù):
郵件軟件是具有收發(fā)郵件、閱讀郵件、管理郵件等功能的軟件。多用途互
聯(lián)網(wǎng)郵件擴(kuò)展(Multipurpose Internet Mail Extensions, MIME)是當(dāng)前廣泛應(yīng)用
的一種電子郵件技術(shù)規(guī)范,基本內(nèi)容定義于RFC 2045-2049。
現(xiàn)有技術(shù)中,郵件主題是由用戶手動(dòng)填寫的,不能自動(dòng)生成;如果用戶不 在郵件窗口的主題欄中填寫當(dāng)前郵件的郵件主題內(nèi)容,則該電子郵件的郵件主
題將為空白。
通常電子郵件允許郵件主題為空白,但這樣對(duì)于收件人而言,不能及時(shí)了 解到郵件的類型、目的、內(nèi)容等基本信息,也不便于收件人和發(fā)件人雙方之后 對(duì)郵件的查閱和管理。
發(fā)明內(nèi)容
本發(fā)明提供一種郵件主題自動(dòng)生成方法,用以解決現(xiàn)有技術(shù)中存在的郵件 主題需要用戶手動(dòng)填寫給用戶使用帶來不便的問題。
根據(jù)本發(fā)明提供的郵件主題自動(dòng)生成方法,本發(fā)明另提供一種相應(yīng)的郵件 主題自動(dòng)生成裝置及郵件系統(tǒng)。
本發(fā)明方法包括
A、 獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題;
B、 將所述郵件主題填入郵件窗口主題欄中并顯示給用戶。
才艮據(jù)本發(fā)明的上述方法,所述步驟A之前還包括
判斷當(dāng)前郵件的主題欄中是否已存在郵件主題,如果已存在郵件主題,執(zhí) 行常規(guī)的郵件處理流程;否則,繼續(xù)步驟A。
才艮據(jù)本發(fā)明的上述方法,當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開始 判斷當(dāng)前郵件的主題欄中是否存在郵件主題。
根據(jù)本發(fā)明的上述方法,所述步驟B之后還包括接受用戶在郵件窗口主 題欄中的輸入信息,更新當(dāng)前郵件主題。
根據(jù)本發(fā)明的上述方法,若當(dāng)前郵件僅存在郵件正文,則獲取郵件正文的 部分內(nèi)容生成郵件主題;
若當(dāng)前郵件僅存在郵件附件,則獲取郵件附件名稱的部分內(nèi)容生成郵件主
題;
若當(dāng)前郵件同時(shí)存在郵件正文和郵件附件,則優(yōu)先獲取郵件附件名稱的部 分內(nèi)容生成郵件主題。
根據(jù)本發(fā)明的上述方法,所述獲取郵件正文的部分內(nèi)容生成郵件主題,包
括
根據(jù)設(shè)定的內(nèi)容獲取規(guī)則對(duì)正文內(nèi)容進(jìn)行搜索,根據(jù)搜索結(jié)果生成郵件主
題;
所述獲取郵件附件名稱的部分內(nèi)容生成郵件主題,包括用其中一個(gè)附件 名稱的全部或部分內(nèi)容生成郵件主題;或根據(jù)多個(gè)附件的名稱進(jìn)行組合生成郵 件主題。
本發(fā)明另提供一種郵件主題自動(dòng)生成裝置,包括
郵件主題自動(dòng)生成模塊,獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵 件主題;
郵件主題顯示/修改模塊,將郵件主題自動(dòng)生成模塊生成的所述郵件主題填 入郵件窗口主題欄中并顯示給用戶;并接收用戶在郵件窗口主題欄中的輸入信
息,更新當(dāng)前郵件主題。 還包括
郵件主題判斷模塊,獲知當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開始
判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)果為不存在郵件主題
時(shí),輸出信號(hào)給所述郵件主題自動(dòng)生成模塊,指示其生成郵件主題。
本發(fā)明還提供一種郵件系統(tǒng),包括常規(guī)功能模塊,還包括郵件主題自動(dòng)生
成裝置;所述郵件主題自動(dòng)生成裝置包括
郵件主題判斷模塊,獲知當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開始 判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)果為不存在郵件主題 時(shí),輸出信號(hào)給所述郵件主題自動(dòng)生成模塊,指示其生成郵件主題;
郵件主題自動(dòng)生成模塊,獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵 件主題;
郵件主題顯示/修改模塊,將郵件主題自動(dòng)生成模塊生成的所述郵件主題填 入郵件窗口主題欄中并顯示給用戶;并接收用戶在郵件窗口主題欄中的輸入信
息,更新當(dāng)前郵件主題。
所述常規(guī)功能模塊具體包括
郵件正文輸入模塊,接收用戶輸入的郵件正文內(nèi)容,向所述郵件主題判斷 模塊發(fā)送正文改變事件報(bào)告,告知當(dāng)前郵件存在郵件正文;并與所述郵件主題 自動(dòng)生成模塊交互,傳送郵件正文內(nèi)容給所述郵件主題自動(dòng)生成模塊;
附件添加模塊,接收用戶選定的附件,向所述郵件主題判斷模塊發(fā)送附件 改變事件報(bào)告,告知當(dāng)前郵件存在郵件附件;并與所述郵件主題自動(dòng)生成模塊 交互,傳送郵件附件名稱給所述郵件主題自動(dòng)生成模塊;
寫郵件其它內(nèi)容才莫塊,接收用戶寫入的郵件其它相關(guān)信息;
郵件生成模塊,接收所述郵件正文輸入模塊、附件添加模塊、寫郵件其它 內(nèi)l^莫塊以及郵件主題顯示/修改模塊中的內(nèi)容,進(jìn)行郵件編碼,生成待發(fā)送郵
件;
郵件傳送模塊,將待發(fā)送郵件通過網(wǎng)絡(luò)傳送給郵件服務(wù)器。
本發(fā)明有益效果如下 并將生成的郵件主題填入郵件窗口主題欄中顯示給用戶,實(shí)現(xiàn)了郵件主題的自 問題。
(2) 本發(fā)明采用當(dāng)郵件存在郵件正文內(nèi)容或郵件附件后通知系統(tǒng),再由 系統(tǒng)判斷是否存在郵件主題的方式,不需要系統(tǒng)在郵件的整個(gè)編寫過程中時(shí)時(shí) 查詢是否存在郵件主題,實(shí)現(xiàn)方法簡(jiǎn)單有效。
(3) 本發(fā)明還可以與現(xiàn)有技術(shù)兼容,當(dāng)用戶不滿意系統(tǒng)自動(dòng)填寫的郵件 主題時(shí),用戶可以采取與現(xiàn)有技術(shù)相同的方式在郵件窗口主題欄中輸入自己的 郵件主題,系統(tǒng)能自動(dòng)更新當(dāng)前郵件主題為用戶輸入的內(nèi)容。
圖1為本發(fā)明郵件主題自動(dòng)生成方法流程圖2為本發(fā)明提供的郵件主題自動(dòng)生成裝置結(jié)構(gòu)示意圖;
圖3為本發(fā)明提供的郵件系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
參見圖1,為本發(fā)明郵件主題自動(dòng)生成方法流程圖,包括如下步驟 步驟Sll、啟動(dòng)郵件系統(tǒng);
步驟S12、郵件系統(tǒng)接收用戶在郵件窗口中編寫的郵件正文或添加的郵件 附件;
步驟S13、判斷當(dāng)前郵件的郵件主題欄中是否有郵件主題內(nèi)容,如果有, 則執(zhí)行常規(guī)郵件處理流程;如果判斷出沒有郵件主題,則繼續(xù)下列步驟; 步驟S14、獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題; 若當(dāng)前郵件僅存在郵件正文,則獲取郵件正文的部分內(nèi)容生成郵件主題;
具體方法包括根據(jù)設(shè)定的內(nèi)容獲取規(guī)則對(duì)正文內(nèi)容進(jìn)行搜索,根據(jù)搜索結(jié)果 生成郵件主題;例如將郵件正文中出現(xiàn)頻率最高的一個(gè)或多個(gè)詞作為郵件主
題;
若當(dāng)前郵件僅存在郵件附件,則獲取郵件附件名稱的部分內(nèi)容生成郵件主
題;具體方法包括用其中一個(gè)附件名稱的全部或部分內(nèi)容生成郵件主題;或 根據(jù)多個(gè)附件的名稱進(jìn)行組合生成郵件主題;
若當(dāng)前郵件同時(shí)存在郵件正文和郵件附件,則優(yōu)先獲取郵件附件名稱的部 分內(nèi)容生成郵件主題;
步驟S15、將生成的郵件主題填入郵件窗口主題欄中并顯示給用戶;
步驟S16、判斷用戶是否已修改自動(dòng)生成的郵件主題內(nèi)容,如果是,則執(zhí) 行步驟S17;否則,執(zhí)行步驟S18;
步驟S17、接受用戶在郵件窗口主題欄中的輸入信息,更新當(dāng)前郵件主題 內(nèi)容;
步驟S18、將自動(dòng)生成的郵件主題作為當(dāng)前郵件的郵件主題。
根據(jù)本發(fā)明提供的上述郵件主題自動(dòng)生成方法,本發(fā)明提供一種完成相應(yīng) 功能的郵件主題自動(dòng)生成裝置1,其結(jié)構(gòu)示意圖如圖2所示,包括郵件主題 判斷模塊11 、郵件主題自動(dòng)生成模塊12和郵件主題顯示/修改模塊13。
郵件主題判斷才莫塊11獲知當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開 始判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)果為不存在郵件主題 時(shí),輸出信號(hào)給郵件主題自動(dòng)生成模塊12,指示其生成郵件主題。
郵件主題自動(dòng)生成模塊12收到郵件主題判斷模塊11發(fā)出的指示信號(hào)后, 獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題;例如將郵件正文中 出現(xiàn)頻率最高的一個(gè)或多個(gè)詞作為郵件主題,或者用附件名稱的全部或部分內(nèi) 容生成郵件主題。
郵件主題顯示/修 文模塊13將郵件主題自動(dòng)生成^f莫塊12生成的郵件主題填 入郵件窗口主題欄中并顯示給用戶;如果用戶在當(dāng)前郵件的主題欄中輸入自己
想要的主題內(nèi)容,則用用戶在郵件窗口主題欄中的輸入內(nèi)容,更新自動(dòng)生成的 郵件主題。
根據(jù)本發(fā)明提供的上述郵件主題自動(dòng)生成方法,本發(fā)明還提供一種完成相 應(yīng)功能的郵件系統(tǒng),該郵件系統(tǒng)包括本發(fā)明提供的上述郵件主題自動(dòng)生成裝置
l和常規(guī)功能模塊。其中,常規(guī)功能模塊包括
郵件正文輸入模塊21、附件添加模塊22、寫郵件其它內(nèi)容模塊23、郵件 生成模塊24和郵件傳送模塊25。
各模塊之間的連接關(guān)系示意圖如圖3所示,其中
郵件正文輸入模塊21和附件添加模塊22分別與郵件主題判斷模塊11和 郵件主題自動(dòng)生成模塊12相連接;
郵件主題判斷模塊11與郵件主題自動(dòng)生成模塊12連接;
郵件主題自動(dòng)生成模塊12與郵件主題顯示/修改模塊13連接;
郵件正文輸入模塊21、附件添加模塊22、寫郵件其它內(nèi)容模塊23和郵件 主題顯示/修 文模塊13都分別與郵件生成模塊24連接;
郵件生成模塊24與郵件傳送模塊25連接。
各模塊完成的相應(yīng)功能及其相互之間的信令控制如下
郵件正文輸入;^莫塊21,接收并存儲(chǔ)用戶輸入的郵件正文內(nèi)容,向郵件主題 判斷模塊11發(fā)送正文改變事件報(bào)告,告知當(dāng)前郵件存在郵件正文;并與郵件 主題自動(dòng)生成模塊12交互,傳送郵件正文內(nèi)容給郵件主題自動(dòng)生成模塊12;
附件添加模塊22,接收用戶選定的附件,向郵件主題判斷模塊11發(fā)送附 件改變事件報(bào)告,告知當(dāng)前郵件存在郵件附件;并與郵件主題自動(dòng)生成模塊12 交互,傳送郵件附件名稱給郵件主題自動(dòng)生成模塊12;
郵件主題判斷模塊11收到正文改變事件報(bào)告和/或附件改變事件報(bào)告后, 開始判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)杲表明當(dāng)前郵件存 在郵件主題時(shí),執(zhí)行常規(guī)郵件處理流程;當(dāng)判斷結(jié)果表明當(dāng)前郵件不存在郵件 主題時(shí),輸出信號(hào)給郵件主題自動(dòng)生成模塊12,指示其生成郵件主題;
郵件主題自動(dòng)生成模塊12接收到郵件主題判斷模塊11發(fā)出的指示信號(hào) 后,獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題,具體包括
若當(dāng)前郵件僅存在郵件正文,則主題自動(dòng)生成模塊12向郵件正文輸入模 塊21發(fā)起郵件正文內(nèi)容獲取通知消息,請(qǐng)求獲取郵件正文內(nèi)容;郵件正文輸 入模塊21收到通知消息后,將保存的郵件正文內(nèi)容傳送給郵件主題自動(dòng)生成 模塊12;郵件主題自動(dòng)生成模塊12根據(jù)設(shè)定的內(nèi)容獲取規(guī)則對(duì)正文內(nèi)容進(jìn)行 搜索,根據(jù)搜索結(jié)果生成郵件主題;例如將郵件正文中出現(xiàn)頻率最高的一個(gè) 或多個(gè)詞作為郵件主題;
若當(dāng)前郵件僅存在郵件附件,則郵件主題自動(dòng)生成;f莫塊12向附件添加才莫 塊22發(fā)起郵件附件名稱獲取通知消息,請(qǐng)求獲取郵件附件名稱;添加模塊22 收到通知消息后,將郵件附件名稱傳送給郵件主題自動(dòng)生成模塊12;郵件主題 自動(dòng)生成模塊12用其中一個(gè)附件名稱的全部或部分內(nèi)容生成郵件主題;或根 據(jù)多個(gè)附件的名稱進(jìn)行組合生成郵件主題;
若當(dāng)前郵件同時(shí)存在郵件正文和郵件附件,則優(yōu)先獲取郵件附件名稱的部 分內(nèi)容生成郵件主題;
郵件主題自動(dòng)生成模塊12將生成的郵件主題(包括文字或圖片)發(fā)送到 郵件主題顯示/修改4莫塊13,顯示給用戶;用戶如果不滿意自動(dòng)生成的郵件主 題,可以采用現(xiàn)有技術(shù)中的郵件主題填寫方式,填寫自己需要的郵件主題;該 郵件主題顯示/修改模塊13判斷出用戶修改了郵件主題后,接受用戶輸入的信 息,將用戶修改后的內(nèi)容作為當(dāng)前郵件的郵件主題;
寫郵件其它內(nèi)容才莫塊23,接收用戶寫入的郵件其它相關(guān)信息; 郵件生成模塊24,接收所述郵件正文輸入模塊21、附件添加模塊22、寫 郵件其它內(nèi)^f莫塊23以及郵件主題顯示/修改模塊13中的內(nèi)容,進(jìn)行郵件編碼, 生成待發(fā)送郵件輸出給郵件傳送模塊25;
郵件傳送才莫塊25將待發(fā)送郵件通過網(wǎng)絡(luò)傳送給郵件服務(wù)器。
綜上所述,本發(fā)明通過獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題,并將生成的郵件主題填入郵件窗口主題欄中顯示給用戶,實(shí)現(xiàn)了郵件主 題的自動(dòng)填寫,克服了現(xiàn)有技術(shù)中需要用戶手動(dòng)填寫郵件主題給用戶使用帶來 不便的問題。
本發(fā)明釆用當(dāng)郵件存在郵件正文內(nèi)容或郵件附件后通知系統(tǒng),再由系統(tǒng)判 斷是否存在郵件主題的方式,不需要系統(tǒng)在郵件的整個(gè)編寫過程中時(shí)時(shí)查詢是 否存在郵件主題,實(shí)現(xiàn)方法簡(jiǎn)單有效。
本發(fā)明還可以與現(xiàn)有技術(shù)兼容,當(dāng)用戶不滿意系統(tǒng)自動(dòng)填寫的郵件主題 時(shí),用戶可以采取與現(xiàn)有技術(shù)相同的方式在郵件窗口主題欄中輸入自己的郵件 主題,系統(tǒng)能自動(dòng)更新當(dāng)前郵件主題為用戶輸入的內(nèi)容。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種郵件主題自動(dòng)生成方法,其特征在于,包括A、獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題;B、將所述郵件主題填入郵件窗口主題欄中并顯示給用戶。
2、 如權(quán)利要求1所述的郵件主題自動(dòng)生成方法,其特征在于,所述步驟 A之前還包括判斷當(dāng)前郵件的主題欄中是否已存在郵件主題,如果已存在郵件主題,執(zhí) 行常規(guī)的郵件處理流程;否則,繼續(xù)步驟A。
3、 如權(quán)利要求2所述的郵件主題自動(dòng)生成方法,其特征在于,當(dāng)前郵件 存在郵件正文內(nèi)容或郵件附件后,開始判斷當(dāng)前郵件的主題欄中是否存在郵件 主題。
4、 如權(quán)利要求3所述的郵件主題自動(dòng)生成方法,其特征在于,所述步驟B 之后還包括接受用戶在郵件窗口主題欄中的輸入信息,更新當(dāng)前郵件主題。
5、 如權(quán)利要求2所述的郵件主題自動(dòng)生成方法,其特征在于,若當(dāng)前郵 件僅存在郵件正文,則獲取郵件正文的部分內(nèi)容生成郵件主題;若當(dāng)前郵件僅存在郵件附件,則獲取郵件附件名稱的部分內(nèi)容生成郵件主題;若當(dāng)前郵件同時(shí)存在郵件正文和郵件附件,則優(yōu)先獲取郵件附件名稱的部 分內(nèi)容生成郵件主題。
6、 如權(quán)利要求5所述的郵件主題自動(dòng)生成方法,其特征在于,所述獲取 郵件正文的部分內(nèi)容生成郵件主題,包括根據(jù)設(shè)定的內(nèi)容獲取規(guī)則對(duì)正文內(nèi)容進(jìn)行搜索,根據(jù)搜索結(jié)果生成郵件主題;所述獲取郵件附件名稱的部分內(nèi)容生成郵件主題,包括用其中一個(gè)附件名稱的全部或部分內(nèi)容生成郵件主題;或根據(jù)多個(gè)附件的名稱進(jìn)行組合生成郵 件主題。
7、 一種郵件主題自動(dòng)生成裝置,其特征在于包括 郵件主題自動(dòng)生成模塊,獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題;郵件主題顯示/修 文模塊,將郵件主題自動(dòng)生成模塊生成的所述郵件主題填 入郵件窗口主題欄中并顯示給用戶;并接收用戶在郵件窗口主題欄中的輸入信 息,更新當(dāng)前郵件主題。
8、 如權(quán)利要求7所述的郵件主題自動(dòng)生成裝置,其特征在于,還包括 郵件主題判斷模塊,獲知當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開始判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)果為不存在郵件主題 時(shí),輸出信號(hào)給所述郵件主題自動(dòng)生成模塊,指示其生成郵件主題。
9、 一種郵件系統(tǒng),包括常規(guī)功能模塊,其特征在于,還包括郵件主題自 動(dòng)生成裝置;所述郵件主題自動(dòng)生成裝置包括郵件主題判斷模塊,獲知當(dāng)前郵件存在郵件正文內(nèi)容或郵件附件后,開始 判斷當(dāng)前郵件的主題欄中是否存在郵件主題;當(dāng)判斷結(jié)果為不存在郵件主題 時(shí),輸出信號(hào)給所述郵件主題自動(dòng)生成模塊,指示其生成郵件主題;郵件主題自動(dòng)生成^f莫塊,獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵 件主題;郵件主題顯示/修改模塊,將郵件主題自動(dòng)生成纟莫塊生成的所述郵件主題填 入郵件窗口主題欄中并顯示給用戶;并接收用戶在郵件窗口主題欄中的輸入信 息,更新當(dāng)前郵件主題。
10、 如權(quán)利要求9所述的郵件系統(tǒng),其特征在于,所述常規(guī)功能模塊具體 包括郵件正文輸入模塊,接收用戶輸入的郵件正文內(nèi)容,向所述郵件主題判斷 模塊發(fā)送正文改變事件才艮告,告知當(dāng)前郵件存在郵件正文;并與所述郵件主題自動(dòng)生成模塊交互,傳送郵件正文內(nèi)容給所述郵件主題自動(dòng)生成模塊;附件添加模塊,接收用戶選定的附件,向所述郵件主題判斷模塊發(fā)送附件改變事件報(bào)告,告知當(dāng)前郵件存在郵件附件;并與所述郵件主題自動(dòng)生成模塊交互,傳送郵件附件名稱給所述郵件主題自動(dòng)生成模塊;寫郵件其它內(nèi)容模塊,接收用戶寫入的郵件其它相關(guān)信息; 郵件生成模塊,接收所述郵件正文輸入模塊、附件添加模塊、寫郵件其它內(nèi)容模塊以及郵件主題顯示/修改模塊中的內(nèi)容,進(jìn)行郵件編碼,生成待發(fā)送郵件;郵件傳送模塊,將待發(fā)送郵件通過網(wǎng)絡(luò)傳送給郵件服務(wù)器。
全文摘要
本發(fā)明公開了一種郵件主題自動(dòng)生成方法,包括獲取郵件正文或郵件附件名稱的部分內(nèi)容生成郵件主題;將所述郵件主題填入郵件窗口主題欄中并顯示給用戶。本發(fā)明還公開了一種郵件主題自動(dòng)生成裝置,包括郵件主題判斷模塊、郵件主題自動(dòng)生成模塊和郵件主題顯示/修改模塊。本發(fā)明還提供了一種具有自動(dòng)生成郵件主題功能的郵件系統(tǒng)。采用本發(fā)明,能實(shí)現(xiàn)自動(dòng)填寫郵件主題,并同時(shí)接受用戶對(duì)郵件主題的修改,充分滿足業(yè)務(wù)要求,方便用戶使用。
文檔編號(hào)H04L12/58GK101097618SQ200610090150
公開日2008年1月2日 申請(qǐng)日期2006年6月29日 優(yōu)先權(quán)日2006年6月29日
發(fā)明者劉樂君 申請(qǐng)人:騰訊科技(深圳)有限公司