package com.mindprod.bulk;
/**
* Copy to CustConfig.java and recompile. Configuration constants for customer.
* This file must be customised, then the whole package recompiled. Whenever
* you make any changes to this file, make sure you do a clean compile.
*
* In this fictious example you would send your bulk emails to
* bulk@beeswax.org from sales@beeswax.org
*
* @author Roedy Green
*/
class CustConfig
{
/**
* true if want to see voluminous SMTP debugging messages.
*/
public static final boolean DEBUGGING = false;
/**
* Does the send mail server require a password and logon. Usually yes.
*/
public static final boolean NEED_PASSWORD_TO_SEND = true;
/**
* Normally this is true, but some IAPs block the bulk emailer from talking
* directly to any mailserver other than ones owned by the IAP. The symptom
* is that all mailservers other than those owned by the IAP always appear
* to be not working. In that case you must turn off email server
* validation.
*/
public static final boolean VALIDATE_EMAIL_SERVERS = false;
/**
* Where bulk emails are sent to be relayed. RFC822 format. "first last
* <x@domain.com>"
*/
public static final String BULK_EMAIL_ADDRESS =
"pollinator <pollinator@beeswax.com>";
/**
* customer abbreviation. Used in creating filenames.
*/
public static final String CUST_ABBREVIATION = "BEE";
/**
* Customer name.
*/
public static final String CUST_NAME = "Bees's Wax Society";
/**
* Encoding for stats message send back to originator usually windows-1252,
* ISO-8859-1, UTF-8 or US-ASCII.
*/
public static final String ORIGINATORS_PREFERRED_ENCODING = "UTF-8";
/**
* Domain to identify as when probing mailservers. It is the DNS name
* associated with your face IP of your workstation.
* See http://mindprod.com/jgloss/faceip.html
* e.g. "vc.shawcable.net" or "bchsia.telus.net"
* Not the mailserver's domain.
*/
public static final String PROBE_DOMAIN = "bchsia.telus.net";
/**
* host of the pop3 receive-mail server. You can send and receive emails on different accounts,
* even different providers. Some ISPs insist you do all your sending via your email
* account with them, but let your receive from other mail providers.
*/
public static final String RECEIVE_HOST = "pop3.beeswax.com";
/**
* Login id for the bulk email receive account. case-sensitive Usually this
* is just the name of the account to the left of the @, but sometime the
* email provider will use a completely separate name. */
public static final String RECEIVE_LOGIN_ID = "pollinator";
/**
* pop3 name for the inbox.
*/
public static final String RECEIVE_MBOX = "INBOX";
/**
* password for the bulk email receive account. case-sensitive
*/
public static final String RECEIVE_PASSWORD = "sesame22";
/**
* protocol used on the receive mail server. Only pop3 tested. Case
* sensitive.
*/
public static final String RECEIVE_PROTOCOL = "pop3";
/**
* host of the smtp send mail server.
*/
public static final String SEND_HOST = "smtp.beeswax.com";
/**
* Login id for the bulk email send account. case-sensitive Usually this is
* just the name of the account to the left of the @, but sometime the email
* provider will use a completely separate name. Set to "" if no login required.
*/
public static final String SEND_LOGIN_ID = "pollinator";
/**
* password for the bulk email send account. case-sensitive. Set to "" if no login required.
*/
public static final String SEND_PASSWORD = "sesame22";
/**
* protocol used on the send mail server. Only pop3 tested. Case sensitive.
*/
public static final String SEND_PROTOCOL = "smtp";
/**
* Minimal quality to accept in email addressos before evven testing them.
* Number 1 .. 9.
*/
public static final int EMAIL_ADDRESS_QUALITY = 1;
/**
* Max emails can send in total, usually the daily limit your ISP imposes.
*/
public static final int MAX_EMAILS_IN_BATCH = 900;
/**
* Max emails, each with BCCs can send without logging off and on again to
* the email server. Ideally is the same as MAX_EMAILS_IN_BATCH.
*/
public static final int MAX_EMAILS_PER_LOGIN = 15;
/**
* How long to wait for a mailserver to respond before giving up on it.
*/
public static final int PROBE_TIMEOUT = 20* 1000;
/**
* port of the pop3 receive mail server, usually 110.
*/
public static final int RECEIVE_PORT = 110;
/**
* port of the smtp send mail server, usually 25, sometimes 24..
*/
public static final int SEND_PORT = 25;
/**
* How long to go before culling a domain nobody emails to, in milliseconds
* Also used to cull list of already sent email message ids. Advanced.
* Normally do not change.
*/
public static final long CULL_INTERVAL =
60* ( 24 * 60 * 60 * 1000L );
/**
* How long to go before reprobing after a failed domain in milliseconds.
* Advanced. Normally do not change.
*/
public static final long FAILED_PROBE_INTERVAL =
1* ( 60 * 60 * 1000L );
/**
* history Mask. Which historical probes to consider when the latest probe
* was bad. With <B>any</b> past good history we assume the domain is good,
* just temporarily down, So long as it has good DNS records for mailservers
* as of the most recent probe. High order bit is most recent probe,
* 1=consider 0=ignore. Advanced. Normally do not change.
*/
public static final long HISTORY_MASK = 0xff00000000000000L;
/**
* How long to go before reprobing a good domain, in milliseconds. Advanced.
* Normally do not change.
*/
public static final long PASSED_PROBE_INTERVAL =
7* ( 24 * 60 * 60 * 1000L );
/**
* How long sleep before checking again for incoming email Advanced.
* Normally do not change.
*/
public static final long SLEEP_INTERVAL =
( DEBUGGING ? 15 : 30 )* 1000L;
/**
* List of people who get a copy of every bulk email to monitor use of the
* product. If they are senders, they will get only one copy. RFC822 format.
* "first last <x@domain.com>"
*/
public static final String[] MONITORS = {
"Roedy Green <roedyg@mindprod.com>"};
/**
* Domains that despite all evidence, are actually bad. Don't bother to
* test them, just treat them as bad.
*/
public static final String[] TREAT_AS_BAD_DOMAINS = {
"home.com", "nowhere.com", "invalid.com", "nospam.com",};
/**
* Domains that despite all evidence, are actually good. Don't bother to
* test them, just treat them as good.
*/
public static final String[] TREAT_AS_GOOD_DOMAINS = {
"aol.ca", "aol.com", "hotmail.com", "shaw.ca", "telus.net",};
/**
* name of the file containing the list of email addresses to forward this
* email to. case-insensitive.
*/
public static final String[] VALID_ATTACHMENT_NAMES = {
"emails.txt",
"emails1.txt",
"emails2.txt",
"emails3.txt",
"emails4.txt",
"emails5.txt",
"emails6.txt",
"emails7.txt",
"emails8.txt",
"emails9.txt",
"canadanewspapers.txt",
"cbc.csv",
"bcnewspapers.txt",
"test.csv",
"victoriacouncillors.txt",};
/**
* List of legal MIME types for the message body.
*/
public static final String[] VALID_MIME_TYPES = {"text/plain", "text/html"};
/**
* Who is allowed to use the bulk mail resender. case-sensitive. Just the
* computer xxx@xxxx part.
*/
public static final String[] VALID_SENDERS = {
"lorna@beeswax.org",
"admin@beeswax.org",
"bulk@beeswax.org",
"beeswax@beeswax.org",
"info@beeswax.org",
"sales@beeswax.org",
"library@beeswax.org",};
/**
* dummy constructor. All fields are static
*/
private CustConfig()
{
}
}