Automated Send

[Setting up CustomMailer for Automated Send]
[Scheduling CustomMailer to run under Windows]
[Special considerations for dial-up phone connections]
[Using a Preferences Setup file]

CustomMailer supports a special mode called "Automated Send" which facilitates unattended operation of CustomMailer.

Automated Send is useful for a variety of purposes.  Some people prefer to send out mailings overnight when their machine (or phone) is not in use, network traffic is low, or phone rates are lower.  Others like to have their recipients receive messages first thing in the morning.  Still others want to set up mailings on a periodic basis for a standard set of files.  Finally, some people want a batch script or other program to run CustomMailer as part of a sequence of tasks.  Automated Send was designed to facilitate all these goals.

Automated Send mode is enabled in Preferences.  Once enabled, the next time CustomMailer runs, it reads in your most recent message template and mailing list as usual, then (after a 60 second pause in case you are present and wish to change your mind) it will automatically "Select All" the recipients in your mailing list, hit the "Send" button to start sending messages to each recipient, and then "Exit" once all the messages have been sent, all with no intervention by you.

In addition, if you have any of the "LastSent", "NumberSent", and/or "Include SendStatus in Save Mailing List" options enabled in Preferences, your updated mailing list will be saved to your current mailing list file as part of the "Exit" operation, just as if you had invoked "Save Mailing List".  This enables you to retain a record of what happened during the course of the automated run (in addition to what is saved in the Send Log if you have that feature enabled in Preferences).  If your mailing list was read from a database, since your mailing list changes can't be written back to the database, the updated mailing list will be saved to a special file "SavedMailingList.txt" in your CustomMailer 4.0 folder.

Also, the feature "'Send' sends to all selected recipients" is automatically assumed, even if it is not enabled in Preferences, since this is the only setting that makes sense for an unattended run.  Likewise, the feature "Autoload mailing list on startup" is automatically assumed, even if is not enabled in Preferences, since this also is the only setting that makes sense for an unattended run.

Once the Automated Send feature is set up, you only need to get CustomMailer started and it will begin this automated send sequence.  CustomMailer does not implement any timer or scheduling features itself.  Rather, the Automated Send feature is designed to be used with the Windows operating system "Scheduled Tasks" feature or any other software that allows you to run programs at a prescribed time, after a given delay, or triggered by some event.  All you need to do is get CustomMailer started at the desired time with an active Internet connection and it will do the rest.

Setting up CustomMailer for Automated Send
Automated Send is enabled by checking the box "Enable automated send" under the "Message sending" tab in Preferences.  As long as this checkbox is checked, each time CustomMailer runs it will automatically enter Automated Send mode.  Because the Automated Send feature stays enabled until you explicitly turn it off, CustomMailer is always "primed" and ready to begin Automated Send each time it runs.  This enables the Automated Send feature to be invoked repeatedly until you decide otherwise.

automatedSendAutomated Send mode starts by bringing up an Automated Send dialog window.  The display features a 60 second countdown timer.  After 60 seconds with no intervention, CustomMailer will automatically begin the Automated Send sequence.

The Automated Send dialog window has two buttons.  One button says "Skip automated send this time".  If you hit this button before the 60 second countdown completes, the Automated Send feature will be canceled.  This allows you to resume normal interactive CustomMailer operation when you are actually present.  Hitting this button only cancels Automated Send for this run of CustomMailer.  Until you uncheck the "Enable Automated Send" button in Preferences,  Automated Send will still attempt to start up the next time you run CustomMailer.  The idea is that the 60 second countdown gives you time to "Skip automated send this time" and then, if you want, you can go to Preferences to uncheck "Enable automated send" so it no longer starts up in Automated Send mode.

The other button in the Automated Send window says "Start automated send right now".  This is for your convenience in case you are present and want to skip over the 60 second wait interval and begin the Automated Send sequence immediately.

The Automated Send sequence will function exactly as if you were present to start up CustomMailer, choose the "Select All" menu item to select all recipients in your mailing list, hit the "Send" button to begin sending messages, and then choose the "Exit" menu item after all the messages were sent.  This means that everything in CustomMailer must be set up in advance exactly the way you want for it to work correctly.  Therefore, it is your responsibility to double-check everything carefully before relying on CustomMailer Automated Send for unattended operation.

Here is a check list of important things you should verify before you enable Automated Send:
    1) Start CustomMailer and make sure your desired message template is what automatically reads in
    2) Likewise, make sure your desired mailing list is what automatically reads in
    3) Make sure every name in your mailing list is a desired recipient (since Automated Send only supports "Select All"; if this is not true, delete recipients you don't want and save the revised mailing list to a new, separate mailing list file to be used for just the Automated Send; alternatively, advanced users can employ a tag or macro to control whether to send to particular recipients using the "Don't Send If" feature, see "Sending exclusions" section under Tags & Macros)
    4) Make sure your SMTP mail server and settings are correct in Preferences
    5) You do not need to check the "'Send' sends to all selected addresses" or "Autoload mailing list on startup" features in Preferences, both are automatically assumed.
    6) If want want a record of what happened, either:
            a) make sure the SendLog.txt log file is turned on in Preferences, or
            b) make sure the LastSent and/or NumberSent and/or Include SendStatus in Save Mailing List options are enabled in Preferences, which will cause Automated Send to automatically save your updated mailing list during "Exit".
    7) Make sure all your other Preferences are set the way you want them
    8) If using Macros, make sure your Macros are the way you want them; click on a few recipients to make sure your messages expand correctly
    9) Once you are satisfied everything is OK, check "Enable automated send" in Preferences
    10) As a final test, exit CustomMailer and run it again.  The Automated Send window should come up and begin counting down.  Assuming you don't want to send now, hit "Skip automated send this time", then exit CustomMailer.  CustomMailer is now set up and ready to go for Automated Send.

Once you have CustomMailer primed and ready to go, there are two remaining things you need to do outside of CustomMailer, discussed below:
    1) set up Windows to automatically run CustomMailer at a desired time
    2) set up Windows so that your Internet connection is alive when CustomMailer runs

Scheduling CustomMailer to run under Windows
The "Scheduled Tasks" feature in Windows 98 and later makes it easy to control when to run CustomMailer.  Under "My Computer" open the "Scheduled Tasks" folder, and double-click on "Add Scheduled Task".  This will  launch the "Scheduled Task Wizard".  Just choose "CustomMailer 4.0" as the program to run and set up a fixed time or periodic interval when you want it to run.

Under Windows NT, 2000, or XP you can also use the "at" command in a command line window.  The "at" command lets you schedule an executable or batch file to run at various specific or periodic times in the future.  By using the "at" command in a batch file, you can perform various other tasks before and/or after the running of CustomMailer.

Windows 95 does not have the "Scheduled Tasks" feature by default as part of its desktop interface.  However, you can install and use the optional "Task Scheduler" or "Microsoft Plus!" programs that come with your Windows 95 installation disk to schedule tasks in a similar manner.  In addition there are a variety of commercial, shareware, and freeware programs available at sources like CNET (http://download.cnet.com) which will do the job, just search for "schedule tasks".

When you invoke CustomMailer with your task scheduling software, you will get the default Preferences file (i.e., your Preferences from the last time you ran CustomMailer) if you simply invoke CustomMailer.exe with no command line arguments.  Alternatively, you can include a Preferences Startup file (see "Using a Preferences Startup file" below) by specifying it as an argument on the CustomMailer.exe command line.

Also note that when you schedule CustomMailer for an automated run, you must set your "working" directory to your CustomMailer 4.0\CustomMailerApp folder before invoking CustomMailer.  This is because CustomMailer finds certain files it uses in (or relative to) the startup working directory.

Most task scheduling software lets you specify the working directory and arguments on the command line in addition to the command itself.  If yours does not, the easiest thing to do is to create a Windows .bat file that first sets the working directory and then invokes CustomMailer with your desired Preferences Startup file on the command line.  Such a file might contain the following lines:
        CD "Program Files\CustomMailer 4.0\CustomMailerApp"
        CustomMailer.exe yourPreferencesStartupFile.txt
Once this .bat file is ready, all your task scheduling software needs to do is schedule the running of the .bat file.

Special considerations for dial-up phone connections
The final thing you need to do to use CustomMailer Automated Send mode is to ensure that your machine has a live connection to the Internet at the time you have CustomMailer scheduled to run.  Typically inside most companies, your computer is always connected to the Internet so there is nothing additional you have to do.  If you are one of the increasing number of home users with a dedicated Internet connections such as DSL, ISDN, or (most) cable modems which are also "always on", you likewise have nothing additional you need to do.

However, if you use an intermittent Internet connection such as a phone dial-up service, you have to somehow make sure your Internet connection gets dialed into at the same time CustomMailer is run automatically.  One would think you could simply schedule the execution of your standard "Connection" file (inside the Windows "Dial-Up Networking" folder) so that it runs and gets you connected prior to running CustomMailer.  However, if you think about how this works when you use it normally, when the "Connect To" window comes up, Windows requires you to hit "Connect" button.  Unfortunately, Microsoft made no provision for hitting the "Connect" button during unattended operation. Alternatively, you could try dialing-up and leaving your computer connected for later, but many Internet Service Providers will hang up after a long enough period of inactivity and some local phone companies meter local calls and will charge you for keeping the connection open.

Fortunately, there are many commercial, shareware, and freeware programs available to solve this problem from the sources such as CNET listed in the previous section.  These programs can perform the unattended dial-up function, and in many cases the same program is also able to schedule tasks, such as running CustomMailer, after the connection is up.  They also have provisions for trying again if your phone connection is busy and many other useful features.  Go to the CNET web site listed in the previous section and search for "dial-up".

Using a Preferences Startup file
The complete set of CustomMailer settings are stored in the file CustomMailerPreferences.txt in your CustomMailer 4.0\CustomMailerApp folder.   This file includes your complete set of Preferences, including the names of your message template file, your mailing list file, and your macros file.  Thus, this file defines the complete startup state of CustomMailer that you might wish to use for an automated run.  Therefore, having set up CustomMailer in the exact way you want, you can at your option save a copy of the CustomMailerPreferences.txt file under a different name (e.g. myTuesdayPreferences.txt) and use it in place of the default CustomMailerPreferences.txt file to restore the exact start-up settings for an automated run of CustomMailer.  This is possible because CustomMailer 4.0 includes a provision for starting CustomMailer on a Windows command line with an alternative Preferences file of your choosing, see "Preferences Startup file".  As long as the message template file, mailing list file, and macros file themselves are still present and haven't moved, your automated run of CustomMailer will take place exactly as you had previously set it up.

The easiest way to set up a Preferences Startup file is to get everything set up exactly as you want it for an automated run in CustomMailer, then exit CustomMailer, make a copy of CustomMailerPreferences.txt, and rename it to a name of your choosing, as described above.  Alternatively, you can make a copy and edit the Preferences Start up file in a text editor or word processor since Preferences files are just text files you can edit yourself, see "Editable Preferences file".

Be sure to check the "Enable automated send" checkbox in Preferences before saving your copy of the Preferences file (or edit the file and set the variable automatedSendOnStartupEnabled to "true"). In this way, this file when invoked as the Preferences Startup file will result in an "automated send" run, even if your normal default CustomMailerPreferences.txt is not set for automated send.

Note that this capability lets you set up a number of different Preferences Startup files and have them all scheduled for automated runs, independent of your day-to-day use of CustomMailer.  For example, you might schedule two different automated runs back to back (e.g., prospects, customers), or particular automated runs at different times (e.g., daily mailing, weekly mailing).