我使用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服务器手动删除错误的电子邮件。
什么是自动打破这些循环的最佳方法,删除或发送错误的电子邮件,而不打开安全漏洞(例如,允许引导连字符)?谢谢。
答案 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);
}
}