2008-12-30 18 views
5

出於測試目的,我想發送郵件到我的本地主機用戶帳戶,而不是我的網絡服務器。我不確定如何使用mail.app來執行此操作。任何幫助,將不勝感激。OS X:發送郵件到本地主機

回答

6

如果您不特別想使用Mail.app,則可以使用mail命令發送郵件。打開終端和:

mail -s "Testing" `whoami`@`hostname` 
<type something> 
Ctrl-D to finish and send 

這些是反引號,而不是單引號。 whoami返回當前用戶的用戶名,hostname返回本地機的主機名。它也可以是明確的:

mail -s "Testing" [email protected] 

編輯:只要閱讀你的澄清。 Mail.app將其數據存儲在〜/ Mail中,主要存儲在SQLite數據庫('Envenlope Index'文件)中。感興趣的表格將是mailboxesmessages。電子郵件的文本存儲在各個郵箱/文件夾目錄中的單個文件中。如果您想要訪問Mail.app(實時)獲取的電子郵件,這可能就是要走的路。

還有一種選擇是使用mbox格式從Mail.app導出郵件,並使用dbr描述的技術訪問郵件。根據是否需要實時訪問,您可以編寫能夠自動導出的腳本。

0

codelogic, 謝謝,我知道從終端發送郵件。我想我的問題沒有經過深思熟慮。我正在尋找登錄到我的(本地)郵件服務器,訪問郵箱,並做一些解析。所以,我假設有一個郵件服務器在本地運行,但不知道如何訪問它。 我使用的紅寶石:

pop = Net::POP3.new 'macbook.local' 
pop.start 'me', 'mypass' 

卻得到了一個Timeout::Error: execution expired

+0

好的,我在閱讀您的說明後更新了我的答案。 – codelogic 2008-12-30 21:49:30

1

除非你正在運行OSX服務器,那麼就在本地運行沒有SMTP/IMAP/POP3服務器。你可以一起來非常方便地運行使用Post Fix Enabler或者,如果你不介意的命令行中使用MacPorts安裝後綴:

sudo port install postfix 
+1

這在2014年並非如此,postfix隨OSX一起安裝,它只是在默認情況下關閉。 – 2014-02-12 18:35:41

2

我期待登錄到我的(本地)郵件服務器,訪問郵箱,並做一些解析。所以,我認爲有在本地,但不知道如何訪問它

本地郵件不存儲在一個POP3/IMAP服務器,而是使用UNIX'y mbox運行郵件服務器。存儲在/var/mail/(文件名是用戶登錄名)的文件

例如..

$ mail dbr 
Subject: hi 
test 
^d # ctrl+d (EOF) 
$ cat /var/mail/dbr 
From [email protected] Tue Dec 30 13:43:57 2008 
Return-Path: <[email protected]> 
X-Original-To: dbr 
Delivered-To: [email protected] 
Received: by parabola.local (Postfix, from userid 501) 
     id 4FEA1158E36; Tue, 30 Dec 2008 13:43:57 +1030 (CST) 
To: [email protected] 
Subject: hi 
Message-Id: <[email protected]> 
Date: Tue, 30 Dec 2008 13:43:57 +1030 (CST) 
From: [email protected] (dbr) 

test 

不知道關於Ruby(我周圍搜索,但沒有找到任何東西,雖然有undoubtably這個模塊),但我知道Python有一個maildir.mbox module,這將通過以下方式使用:

>>> msgs = mailbox.mbox("/var/mail/dbr") 
>>> for msg in msgs: 
...  print "Subject:", msg['subject'] 
... 
Subject: hi 
16

@Tautologistics

OSX確實有一個內置的MTA(SMTP服務器),將其打開,你可以輸入:

sudo launchctl start org.postfix.master 

,那麼你可以發送郵件到本地主機像你的願望


樣品顯示來自我的機器上運行的SMTP服務器運行10.6.1

>telnet 127.0.0.1 25 
Trying 127.0.0.1... 
telnet: connect to address 127.0.0.1: Connection refused 
telnet: Unable to connect to remote host 

>sudo launchctl start org.postfix.master 

>telnet 127.0.0.1 25 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
220 machinename.example.com ESMTP Postfix 
1

從本地主機LocalhostMail是一個簡單而快速的發送郵件適用於Mac OS X的解決方案,可讓您通過Mac OS X附帶的Mail.app從您的PHP應用程序(或任何其他位於本地主機上)發送電子郵件。如果您使用PHP,只需向MySQL數據庫添加新消息,應用程序將通過郵件應用程序發送它們。 LocalhostMail在Mail.app中使用您的郵件帳戶發送這些郵件,因此您不需要爲您的本地主機使用單獨的SMTP服務器。 localhostmail.com

相關問題