出于测试目的,我希望将邮件发送到我的localhost用户帐户而不是我的网络服务器。我不确定如何使用mail.app执行此操作。任何帮助将不胜感激。
答案 0 :(得分:17)
@Tautologistics
OSX确实有内置的MTA(SMTP服务器),打开它可以输入:
sudo launchctl start org.postfix.master
然后你可以像你想要的那样发送邮件给localhost
示例显示从运行10.6.1的计算机运行的SMTP服务器
>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 :(得分:6)
如果您不想特别使用Mail.app,则可以使用mail
命令发送邮件。打开终端并:
mail -s "Testing" `whoami`@`hostname`
<type something>
Ctrl-D to finish and send
这些是反引号,而不是单引号。 whoami
返回当前用户的用户名,hostname
返回本地计算机的主机名。它也可以是明确的:
mail -s "Testing" john@mymac.local
编辑:请阅读您的澄清。 Mail.app将其数据存储在〜/ Mail中,主要存储在SQLite数据库('Envenlope Index'文件)中。感兴趣的表格为mailboxes
和messages
。电子邮件的文本存储在各个邮箱/文件夹目录中的各个文件中。如果您想要访问Mail.app(实时)提取的电子邮件,这可能是要走的路。
另一种选择是使用mbox格式从Mail.app导出邮件,并使用dbr描述的技术访问它。根据是否需要实时访问,您可以编写一些自动导出的脚本。
答案 2 :(得分:3)
我想登录我的(本地)邮件服务器,访问邮箱,并进行一些解析。所以,我假设有一个本地运行的邮件服务器,但不知道如何访问它
本地邮件不存储在POP3 / IMAP服务器中,而是使用UNIX'y mbox。存储在/var/mail/
中的文件(文件名是用户登录名)
例如......
$ mail dbr
Subject: hi
test
^d # ctrl+d (EOF)
$ cat /var/mail/dbr
From dbr@parabola.local Tue Dec 30 13:43:57 2008
Return-Path: <dbr@parabola.local>
X-Original-To: dbr
Delivered-To: dbr@parabola.local
Received: by parabola.local (Postfix, from userid 501)
id 4FEA1158E36; Tue, 30 Dec 2008 13:43:57 +1030 (CST)
To: dbr@parabola.local
Subject: hi
Message-Id: <20081230031357.4FEA1158E36@parabola.local>
Date: Tue, 30 Dec 2008 13:43:57 +1030 (CST)
From: dbr@parabola.local (dbr)
test
不确定Ruby(我有一个搜索,但找不到任何东西,虽然毫无疑问是一个模块),但我知道Python有maildir.mbox
module,它将以下列方式使用:
>>> msgs = mailbox.mbox("/var/mail/dbr")
>>> for msg in msgs:
... print "Subject:", msg['subject']
...
Subject: hi
答案 3 :(得分:1)
除非您运行的是OSX Server,否则本地没有运行SMTP / IMAP / POP3服务器。您可以使用Post Fix Enabler轻松启动并运行,如果您不介意命令行,请使用MacPorts安装后缀:
sudo port install postfix
答案 4 :(得分:1)
从localhost发送邮件LocalhostMail是一个简单而快速的Mac OS X解决方案,它允许您通过Mac OS X附带的Mail.app从PHP应用程序(或任何其他位于localhost上)发送电子邮件。如果您使用PHP,只需添加MySQL数据库新消息,我们的应用程序将通过Mail应用程序发送它们。 LocalhostMail使用Mail.app中的邮件帐户发送这些邮件,因此您不需要为本地主机安装单独的SMTP服务器。localhostmail.com
答案 5 :(得分:0)
codelogic, 谢谢,我确实知道从终端发送邮件。我认为我的问题没有经过深思熟虑。我想登录我的(本地)邮件服务器,访问邮箱,并进行一些解析。所以,我假设有一个本地运行的邮件服务器,但不知道如何访问它。 我正在使用红宝石:
pop = Net::POP3.new 'macbook.local'
pop.start 'me', 'mypass'
但获得Timeout::Error: execution expired