您尚未登录。

#1 2014-09-25 22:42:07

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

msmtp 究竟该如何配置

前提:没有网络邮箱。
目标:能在本地发送邮件,比如我希望接收到 cron 发的邮件。

>0< ~# cat test.mail | msmtp -a default fb@localhost
msmtp: account default from /etc/msmtprc: envelope-from address is missing

>78< ~# cat /etc/msmtprc 
account default
host localhost

>0< ~#

离线

#2 2014-09-26 11:04:10

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: msmtp 究竟该如何配置

我一般是用 postfix,其他的邮件服务器没试过...

离线

#3 2014-09-26 13:30:25

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: msmtp 究竟该如何配置

mymailer.py:

#!/usr/bin/env python3

import os
import sys
import time
import subprocess

def getmailplace():
  if os.environ['USER'] == 'lilydjwg':
    f = b'.Mail/inbox'
  else:
    f = b'cron.letter'
  return f

def process_message():
  r, w = os.pipe()
  try:
    os.set_inheritable(r, True)
  except AttributeError:
    pass # Python 3.3-

  # use procmail so we needn't care about locking
  try:
    p = subprocess.Popen(['procmail', '-f', 'crond', '/proc/self/fd/%d' % r],
                         pass_fds=(r,), stdin=subprocess.PIPE)
    os.write(w, b'DEFAULT=$HOME/' + getmailplace() + b'\n')
    os.close(w)
    mail = p.stdin
    mail.write(b'Delivered-To: localhost\n')
    mail.write(b'Date: ' + time.ctime().encode() + b'\n')
    mail.write(b'Content-Type: text/plain; charset=utf-8\n')
    for l in sys.stdin.buffer:
      mail.write(l)
    mail.write(b'\n')
  finally:
    p.stdin.close()
    p.wait()

if __name__ == '__main__':
  process_message()

离线

#4 2014-09-26 20:26:23

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

Re: msmtp 究竟该如何配置

楼上这是?

离线

#5 2014-09-26 21:52:27

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: msmtp 究竟该如何配置

自由建客 说:

楼上这是?

专门给 cron 用的邮件投递程序。

离线

#6 2014-09-28 10:52:47

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

Re: msmtp 究竟该如何配置

百合仙子 说:
自由建客 说:

楼上这是?

专门给 cron 用的邮件投递程序。

專門的就不必了,我還有 mldonkey(電騾,怎拼的忘了)。我研究發現好像就在 sendmail 命令,exim4 提供的該命令就能如願且無需守護進程,postfix 能用但必須要守護進程,msmtp 就不行。

离线

页脚