我如何知道我的邮递员帖子是否使用gmail成功?

时间:2013-03-07 21:20:11

标签: python command-line mailman

如果您使用Gmail发送到邮件员邮件列表,则不会在收件箱中收到您自己的邮件,因为它会立即存档。关于Gmail的行为有很多抱怨,但到目前为止,你无能为力。

是否仍有可能获得帖子的确认?

(请注意,如果列表主持人接受您的帖子需要一些时间,您可能希望在将邮件发送给列表的订阅者时收到通知。)

1 个答案:

答案 0 :(得分:1)

仅为您自己启用确认

有一个option in mailman会让邮件员在你的邮件发送时告诉你:

  

如何在列表收到我的帖子后让Mailman告诉我? (确认选项)

     

[...]

     

使用电子邮件界面进行设置:

     

使用命令set ack on或发送ack off将邮件发送到LISTNAME-request @ DOMAIN。

通过命令行为所有用户更改

但如果您是邮递员列表的管理员,甚至是运行许多邮件列表的服务器的管理员,您可能希望为列表中的所有Gmail用户更改此选项。在这种情况下,以下脚本可能会帮助您通过命令行自动更改选项。

  • 将以下行保存到/usr/lib/mailman/bin/ackpostforgmail.py(文件名很重要!将/usr/lib/mailman替换为邮件安装的路径!)
  • cd /usr/lib/mailman/bin/
  • sudo withlist -r ackpostforgmail LISTNAME

    # Call this script with:
    # cd /usr/lib/mailman/bin/
    # withlist -r ackpostforgmail LISTNAME
    
    from Mailman import mm_cfg
    
    def ackpostforgmail(m):
        # m is the maillist object for the list LISTNAME
    
        # We need to lock the list, since we want to change something...
        m.Lock()
    
        print "Setting 'AcknowledgePosts' to True for all gmail adresses of the list..."
        for memb in m.members:
            # If the mailadress memb contains 'gmail'...
            if 'gmail' in memb:
                # ...set the ackpost option...
                prev_state = m.getMemberOption(memb, mm_cfg.AcknowledgePosts)
                m.setMemberOption(memb, mm_cfg.AcknowledgePosts,True)
                after_state = m.getMemberOption(memb, mm_cfg.AcknowledgePosts)
    
                print "%s: %s -> %s" % (memb, prev_state, after_state)
    
        m.Save()
    

如果要为所有列表运行此命令,可能需要-a命令的with_list标志。否则,list_lists命令可能有助于您查找正在运行的列表。