Postfix"错误的发件人地址语法"导致fetchmail重复重新获取同一封电子邮件

时间:2014-09-06 21:38:37

标签: email imap postfix-mta fetchmail

我使用fetchmail每五分钟从IMAP服务器检索一次电子邮件,并将其传递给本地postfix进程进行传递。问题:有时电子邮件无效" From" line(通常是垃圾邮件),就像这个带有前导连字符的那样:

From: "- Some Dumb Spammer" <-DumbSpammer@example.com>

在这种情况下,fetchmail检索电子邮件并将其传递给我的本地postfix进程,这会引发错误:

fetchmail: SMTP error: 501 5.1.7 Bad sender address syntax

此错误导致fetchmail将错误的电子邮件保留在IMAP服务器上,即使我的.fetchmailrc文件显示nokeep也是如此。结果,fetchmail每五分钟重新下载一次。永远重复......或者直到我从IMAP服务器手动删除错误的电子邮件。

什么是自动打破这些循环的最佳方法,删除或发送错误的电子邮件,而不打开安全漏洞(例如,允许引导连字符)?谢谢。

2 个答案:

答案 0 :(得分:2)

fetchmail-users邮件列表answered my question上的那些人。要总结他们的回复,您可以使用fetchmail --nosoftbounce永久删除无法投递的邮件,使用反垃圾邮件选项接受电子邮件(fetchmail -Z 501),或配置后缀以允许引导连字符(如果它是安全的)这样做。这些选项记录在fetchmail手册页中。

答案 1 :(得分:0)

删除Asp TAG用户名#!/bin/sh set logfile '/var/log/fetchmaillog' set no bouncemail defaults fetchall poll locapack.com.br with protocol pop3 username admin@seudominio.com.br password xxxx is admin@seudominio.com.br here;

   void fill_listbox_Dates()
    {
        string Machine_Name_listbox = listboxMachines.SelectedItem.ToString();

        string databaseString = "datasource=LinacDatabase.db";

        string DateQuery = "SELECT Date FROM Machines as E1 INNER JOIN Date as E2 ON Machines.Machine= " + Machine_Name_listbox + "";

        SQLiteConnection conDatabase = new SQLiteConnection(databaseString);
        SQLiteCommand cmdDataBase = new SQLiteCommand(DateQuery, conDatabase);
        SQLiteDataReader ReadDate;

        try
        {

            conDatabase.Open();
            ReadDate = cmdDataBase.ExecuteReader();

            while (ReadDate.Read())
            {
                List<string> Dates = ReadDate.GetString(1);

                listboxDates.Items.Add(Dates);
            }

        }