📄 importmatcher.java
字号:
package org.opencustomer.mail.james;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.StringTokenizer;
import javax.mail.MessagingException;
import org.apache.mailet.GenericMatcher;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.opencustomer.application.db.dao.crm.PersonDAO;
import org.opencustomer.db.Database;
public class ImportMatcher extends GenericMatcher
{
private Collection adresses;
private Set<String> blacklist;
public void init() throws MessagingException
{
Database.doInit();
StringTokenizer st = new StringTokenizer(getCondition(), ", \t", false);
blacklist = new HashSet<String>();
while (st.hasMoreTokens())
{
blacklist.add(st.nextToken());
}
}
public Collection match(Mail mail) throws MessagingException
{
// System.out.println("OcImport");
boolean rcnfound = true;
// Blacklist
boolean found = false;
Collection<MailAddress> recipients = mail.getRecipients();
Collection<MailAddress> addresses = new HashSet<MailAddress>();
addresses.addAll(recipients);
addresses.add(mail.getSender());
for(MailAddress address : addresses)
{
Iterator bit = blacklist.iterator();
found = false;
String addressitem = address.toString();
for(String pattern : blacklist)
{
if (addressitem.contains(pattern))
{
found = true;
break;
}
}
if (!found)
break;
}
if (found)
return null;
// Emfaenger im OC
if (new PersonDAO().getByMail(mail.getSender().toString()).isEmpty())
return null;
// Absender im OC
for (MailAddress address : recipients)
{
if (!(new PersonDAO().getByMail(address.toString()).isEmpty()))
rcnfound = false;
}
if (rcnfound)
return null;
return mail.getRecipients();
}
public void destroy()
{
Database.closeFactory();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -