logo
  Mailing List Tools
logo

[SMTP Setup Wizard]
[Verify Addresses]
[Find Duplicates]
[Match Addresses in File]
[Extract Addresses from File]
[Opt-Out List]
 

Overview
CustomMailer includes a set of mailing list tools which can greatly assist certain setup and maintenance tasks that arise in email campaigns.  These include:


SMTP Setup Wizard
The SMTP Setup Wizard lets you test your Internet connection to verify that it is working, find your SMTP server name if you do not know what it is, test whether your SMTP server requires SMTP Authentication (name & password), and finally send email to test that your SMTP server works properly from CustomMailer.  It is invoked by the "SMTP Setup Wizard" command under the "Tools" menu and runs automatically the very first time you use CustomMailer (or any time the SMTP server name is left blank in Preferences).

The wizard is very self-explanatory.  It begins by verifying that your Internet connection is working.  It does this by trying to open socket connections at certain public Internet sites.  It should verify your connection in just a few seconds.  Otherwise puts up a warning that the connection did not respond right away, but keeps trying for about a minute before giving up entirely.  If during the minute you reestablish your connection, the wizard will detect this and proceed normally, or you can just hit "Quit" and try again.

Next you will be asked for your SMTP server name.  If you know it, you can enter it here and CustomMailer will proceed to test it out.  If you don't know it, you can enter the Internet domain name of your company or Internet Service Provider and CustomMailer has a way of using Internet DNS services to find out some possible SMTP servers for you to use.  You can enter any one of these names and CustomMailer will test it out to see if it is suitable for your use.

Once you have an SMTP server name, CustomMailer will verify that the server is available and responding properly.  In the process it may determine that your SMTP server is one of those that requires SMTP authentication. In this case you will need to enter a name and password to satisfy your SMTP server.  This name and address should have been provided to you by your network administrator, who set up your server to require SMTP authentication in the first place (you can usually tell if you need to use SMTP authentication based on the setup of your regular email program, see "SMTP authentication" under the "Mailer Server" section of "Preferences").  Once the SMTP Setup Wizard has your name and password and has tested that it works, it will automatically set these values in Preferences if you like.  

NOTE: we know of cases where SMTP servers say they support SMTP authentication but don't actually require it.  If you suspect this is your situation, try leaving the name and password blank and see if the test message works.  If so, you may be able to turn SMTP authentication off in Preferences and still send mail.

Finally, the SMTP Setup Wizard will use what it has learned to send an actual email to provide the ultimate test.  The wizard will ask you for your email address and send a test email to your address and also to our testSMTP@wildcrest.com test address.  After a few minutes you can check to see if the test email got sent to you by running your regular email reader.  In addition, if the test email sent to testSMTP@wildcrest.com worked OK, the Wildcrest Associates automated reply demon will send back a message which you will also get in your regular email reader informing you that your email message was successfully received by our site.  If this test message didn't work correctly, either the wizard will detect this right away or you may later get a "bounceback" email notification in your regular email about what went wrong.  Sending the test message both to yourself and to testSMTP@wildcrest.com will verify that your SMTP server can send email both within your domain and relayed outside your domain.

Once the SMTP Setup Wizard has verified that your SMTP server is working correctly, it offers to set your SMTP server name (and, if used, your SMTP authentication name and password) in Preferences.  You can skip this step if you just want to test an SMTP server without designating it as the one you actually wish to use.
 

Verify Addresses
Verify Addresses lets you check in advance the validity of the addresses in a particular mailing list column for all (or some) of your mailing list rows.  This command can greatly reduce "bounceback" messages caused by sending email to invalid Internet addresses.  The address verifier first tests for legal Internet address syntax in the form username@domain.com.  It then determines whether the domain (i.e., domain.com) is a valid Internet domain using the Internet DNS (Domain Name Server) protocol.  Finally, it goes to the SMTP server at domain.com and asks whether username is a valid user for receiving mail at that domain (the user will not be aware of this query).  Not all SMTP servers validate user names, but you will always find out either that they are a valid user, that they are not a valid user, or that the SMTP server won't say.  In our experience, approximately 80% of invalid users or domains can be screened out using this tool.

The email addresses that Verify Addresses will test must be in some column of your mailing list.  Verify Addresses will guess what column this is but lets you change it to any other column before beginning the verification.

The email addresses will only be verified for the rows of your mailing list that you select (using row selections made by you in advance in all the normal ways selections of multiple recipients are made within CustomMailer).  In this way, you can verify only new addresses added to your list, or just the addresses to which you are about to send a mailing.  In addition the Verify Addresses dialog provides a "Select All" button for your convenience since this is the most common option.

The verification is performed by CustomMailer using a multi-threaded verifier so that verification is generally much faster than actually sending email.  The results of the verification are entered into the "SendStatus" column of your mailing list.  The main result is visible in the "SendStatus" column, with a more detail explanation available if you widen the "SendStatus" column to the right.  Here is the exact meaning of the six possible results:

VALID USER - This means that domain.com has been verified as a valid Internet domain and that the SMTP server at that domain has verified that username is a valid username at that address.  VALID USER means that you can send email to this address and it should get through.

VALID DOMAIN - This means that domain.com has been verified as a valid Internet domain but that the SMTP server at that domain has responded that it is unwilling to verify whether or not username is a valid username at that address.  VALID DOMAIN means that the SMTP server is willing to receive an email sent to this address, and that you should try sending the email since the username may indeed be valid and get through, but also be prepared for the possibility that you get a "bounceback" email informing you that there was no such user at that address after all.

INVALID USER - This means that domain.com has been verified as a valid Internet domain but that the SMTP server at that domain has verified that username is not a valid username at that address.  INVALID USER means that you shouldn't bother sending email to this address, as it will only result in a "bounceback" email informing you that there is no such user at that address.

INVALID DOMAIN - This means that domain.com has not been verified as a valid Internet domain.  INVALID DOMAIN probably means that you shouldn't bother sending email to this address.  However, by the nature of the DNS (Domain Name Server) service, DNS will tell you with certainty if it finds out that the domain exists, but it simply does nothing and times out if the domain does not exist.  Most of the time this is because it is actually a invalid domain that does not exist.  But sometimes it may be that the domain is temporarily off the air or otherwise not responding, or that things are so slow that the response didn't get back before the timeout, or even that something was garbled in transmission.  Therefore, you need to use your judgment before deleting an INVALID DOMAIN address. By inspection it may be obvious it is a bogus address.  But it is often be a good idea to revalidate these addresses at a later time before giving up on them for good.  Said another way, the VALID USER, INVALID USER, and VALID DOMAIN designations are all actual, definitive responses from the SMTP server, whereas INVALID DOMAIN is the result of no response and is an inferred conclusion rather than a confirmed result.

SYNTAX ERROR - This means the Internet address is not in the form username@domain.com.  The address can only contain letters, digits, hyphens, periods, at signs, and underscores (plus can only have one "at" sign, can't have two periods in a row, can't start or end with a period, etc.).  A SYNTAX ERROR means there is no point in sending an email to this address.

ERROR RETURN - This means that something went wrong when carrying out the Verify Addresses test itself.  Generally, this means the server replied with an unexpected code or other anomalous result.  You should try widening the SendStatus column and see what the entire response is.  The most common situation is that the server has replied with an code that the Verify Addresses command is unable to recognize.  This usually means the domain is a VALID  DOMAIN but that nothing beyond that can be determined.

CustomMailer gives you the option of automatically selecting, after verification is done, all the valid responses (VALID USER or VALID DOMAIN), all the invalid responses (INVALID USER, INVALID DOMAIN, SYNTAX ERROR, or ERROR RETURN), or both.  For example, you might wish to select all the rows with invalid addresses and delete them using "Delete Selected Rows" (or try verifying them again later).  Or you might wish to select the rows with all the valid addresses and send email to them by hitting the "Send" button.
 

Find Duplicates
This command lets you check for duplicate values in any given mailing list column for all (or some) of your mailing list rows.  Usually it is used for finding duplicate email addresses but can be used to detect any duplicate values like names or serial numbers. Duplicate testing can be either case-sensitive or insensitive (Internet emails addresses are case-insensitive, so you should leave the "match case" box unchecked when searching for duplicate email addresses) .  This command distinguishes the "first" row in which a value occurs from all subsequent rows in which the same value occurs, the latter being the "duplicates".

Find Duplicates will test for duplicates in some single column of your mailing list.  Find Duplicates will let you choose any column for determining duplicate values, thus it can be used for determining not only duplicate email addresses but also duplicate names, serial numbers, etc.

The duplicate values will only be tested and found within the rows of your mailing list that you select (made by you in advance using all the normal selection techniques within CustomMailer).  In other words, if a value in a selected row duplicates a value in an earlier non-selected row, this will not be detected as a duplicate.  A "Select All" button is provided for your convenience since this is the most common option.

The results of the duplicate testing are set in the "SendStatus" column of your mailing list.  The status will be set to "FIRST" for the first row in which a given value occurs and "DUPLICATE" for all subsequent rows in which the same value occurs.

CustomMailer gives you the option of automatically selecting, after duplicate testing is done, all the "FIRST" of a kind rows, all the "DUPLICATE" rows, or both.  For example, you might wish to select all the "DUPLICATE" rows and delete them using "Delete Selected Rows".
 

Match Addresses in File
This command lets you detect which rows of your mailing list contain email addresses matching those found in a file.  For example, this command can let you find and remove all email addresses in a "remove" or "suppress" list or "opt-out" list, or addresses found in a set of "bounceback" or "unsubscribe" emails, or email addresses that already appear in another CustomMailer mailing list.  You will first be prompted for the name of the file, which can be any file.  The command will then find and extract all the legal syntax email addresses found anywhere in this file.  The file might be just a list of addresses one per line, but it might also be another CustomMailer mailing list, or it might be a file containing all the emails you received in the last month.  Having found all the legal syntax addresses in your designated file, it then will determine all the rows matching some address found in the file versus those that do not match any address found in the file.  As is proper for Internet addresses, matching is case-insensitive.

Match Addresses in File will let you select which column of your mailing list contains the email addresses you want to check.   Match Addresses in File will guess what column this is but lets you change it to any other column before beginning the matching.

The matching email addresses will only be found for the rows of your mailing list that you select (made by you in advance using all the normal selection techniques within CustomMailer).  A "Select All" button is provided for your convenience since this is the most common option.

The results of the matching are set in the "SendStatus" column of your mailing list.  The status will be set to "IN FILE" for rows matching some address found in the file and "NOT IN FILE" for rows that do not match any address found in the file.

The method of extracting legal syntax email addresses found anywhere in the file is very robust.  It searches through all the characters in any type of file looking for runs of letters, digits, hyphens, periods, at signs, and underscore characters, which are the characters allowed in legal Internet addresses.  It then determines if the run is in proper Internet address syntax in the form username@domain.com.  If so, it adds the address to a list.  Once all the addresses are collected, all duplicate addresses in the list are eliminated (duplicates are detected case-insensitive, as is proper for Internet addresses).  This process will work for not only text files, but even binary files (as long as the character strings are not encoded or compressed), so it will do surprisingly well for Excel spreadsheets, Netscape address books, Word documents, etc.

This algorithm will work for a broad range of file formats.  Obviously it works if you simply have a single address per line.  But it also works for any typical CustomMailer mailing list, so you can use it to determine and remove all the addresses in one mailing list the appear in another mailing list.  For example, if we do a mailing to our "prospects" mailing list, we use our "customer" mailing list to match and (temporarily) delete any customers from the prospects list so that they don't get a second email that treats them like a prospect instead of a customer.

The algorithm also will extract all the addresses for a file containing concatenated text email messages, such as the typical email "folder" file used by an email package such as Netscape Mail, Microsoft Outlook, or Unix mail.  For example, we use this technique routinely to process "bounceback" emails (email previously sent by us to bogus addresses that didn't go through).  Every time we get such an email in our regular email reader, we just file it in (i.e. add it to the end of) a "bounce" file.  When we process the bounce file with Match Addresses in File, all the email addresses are extracted from the file.  Some of these are the bogus addresses we originally sent to and will be found in our mailing list.  Others are intermediate email routing addresses, which generally don't match anything in our mailing and so aren't a problem.  A few will be our own FROM address or addresses mentioned in the body of our message, which we manually unselect if they happen to be present in our mailing list.  Then we can delete the remaining selected rows and in this way we've cleaned out our list of bounced addresses.

CustomMailer gives you the option of automatically selecting, after address matching is done, all the "IN FILE" rows, all the "NOT IN FILE" rows, or both.  For example, you might wish to select all the "IN FILE" rows and delete them using "Delete Selected Rows", or select all the "NOT IN FILE" rows and "Send" to those.
 

Extract Addresses from File
This command lets you extract all Internet email addresses found anywhere in any file and save them to another file one per row.  For example, this command can let you quickly construct a list of addresses from a set of "subscribe" emails, postings to your web site discussion board, or an address book from your regular email application.  Though this command only extracts a simple list of addresses and not other useful information like names or dates, it does provide a quick way to create new mailing lists, "suppress" or "opt-out" lists, etc. Since "Extract Addresses from File" is identical to the first part of the "Match Addresses in File" operation above, it is often useful to perform the Extract Addresses from File step first, giving you a chance to edit or further process the extracted file, before using it as the match file under "Match Addresses in File".

You will first be prompted for the name of the file, which can be any file.  The command will then find and extract all the legal syntax email addresses found anywhere in this file.  The file might be just a list of addresses one per line (in which case it simply reproduces this list, minus duplicates), but it might also be another CustomMailer mailing list, or it might be a file containing all the emails you received in the last month.  The method of extracting addresses found anywhere in the file is very robust and is described above under "Match Addresses in File".  It will work for not only text files, but even binary files (as long as the character strings are not encoded or compressed), so it will do surprisingly well for Excel spreadsheets, Netscape address books, Word documents, etc.  See "Match Addresses in File" for ideas on how this capability can be put to use.

If you need to extract more information than just internet addresses from a series of emails, there are some good tools available from third parties that are designed specifically for this purpose, for example, the rules-based tool Message Parse from Cypress Technologies.
 

Opt-Out List
CustomMailer provides support for a permanent list of "opt-out" email addresses to whom mail will never be sent.  The opt-out list is stored in a file called MyOptOutList.txt located in the main CustomMailer 4.0 folder, which by default is C:\Program Files\CustomMailer 4.0.  Each time CustomMailer starts up, it will read in this file and extract all Internet email addresses found anywhere in this file, exactly as in the manner described for the "Match Addresses in File" and "Extract Addresses From File" commands above.  Typically, you would enter one "opt-out" email address per line into this file using a text editor such as Notepad or WordPad.  Then, for each individual email message that CustomMailer attempts to send (i.e., for each selected row of your mailing list), CustomMailer tests whether any email address anywhere in the TO, CC, or BCC fields for that message matches any address in the opt-out list.  If any such match is found, then this copy of the message is not sent to anyone (including the other addresses in the TO, CC, and BCC fields) for this mailing list row.  Note that this is different than the CustomMailer "dup" processing, where only addresses in the TO field are evaluated for being "dups".  You can change the opt-out file name and location by manually editing the file CustomMailerPreferences.txt, which by default is located in C:\Program Files\CustomMailer 4.0\CustomMailerApp.  Presently, there is no way using the CustomMailer menus or preferences dialog to change the opt-out file name and location or to view or edit its contents, but we plan to add these capabilities in a future CustomMailer release.