Dear awaiting,
You can easily solve this problem with a UNIX shell account that gives
you access to the mail and crontab commands.
Such a shell account is available from the following firm for $5 a month,
or $52.50 a year if paid in advance.
B2Net Solutions: Shell Accounts
http://www.b2netsolutions.com/shell-accounts-hosting.htm
Even less expensive is this outfit, whose basic account is perfectly
adequate for your situation. It costs $2 a month, although a special
offer to new users -- see Shell Special #1 at the second link below --
gets you a full year of usage for $15.
Acme Shells: Order Shell Account
https://www.acmeshells.com/display.php?p=order
Acme Shells: Specials
https://www.acmeshells.com/display.php?p=specials
To log into a shell account from Windows, you'll need a terminal program
such as PuTTY.
PuTTY: Home
http://www.chiark.greenend.org.uk/~sgtatham/putty/
PuTTY: putty.exe download link
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Once you've signed up for a shell account and logged in, follow these
three steps to schedule an email message for unattended future delivery.
1: Make a mailing list.
Execute the command
pico ~/.mailrc
to use the pico text editor to make a file called .mailrc in your home
directory. This file should contain a line that looks like the following.
alias friends john@doe.com jane@doe.com joe@schmo.com foo@bar.com
This line says that "friends" is a name for a group of email addresses
that are specified in the rest of the line. You'll want to substitute
the addresses of your own friends, of course.
2. Make a message.
For example, use
pico ~/birthday.txt
to make a message that reads as follows.
Many happy returns!
Your friend,
Bartholomew
You can use any file name and any text you like. The ~/ characters in the
file name are there to specify that the file is in your home directory.
They're optional in this context, but you should use them anyway to get
used to the idea.
3. Make and load a crontab file.
Use
pico ~/sendit.txt
to make a file containing a line that looks like the following.
45 15 04 Jul * mail -s "Happy Birthday!" friends < ~/birthday.txt
This will be used to tell the cron program, which runs tasks
automatically, when and what you want to schedule. The time and date
are specified in reverse order: "45" is the minute specifier, "15"
is the hour, "04" is the day, and "Jul" is the month. In other words,
we want to run a task at 15:45 on July 4th.
The "*" means that we don't care about the day of the week. To specify
the name of a month, you'll have to type its first three letters. Don't
forget that the hour is in 24-hour format: 15 is 3pm, for example,
and 00 is 12am.
You can replace "Happy Birthday!" with any other text enclosed by
quotation marks. This will appear as the subject line of your email. The
message will be sent to the list of addresses you aliased to "friends"
in your .mailrc file. The message body will be the content of the file
named at the end of the line.
After making this file, you must use the crontab command to load
it. Execute
crontab ~/sendit.txt
and then
crontab -l
to verify that your scheduling instructions have been loaded. You can
actually specify a number of scheduled tasks in the sendit.txt file,
each on a separate line.
You're done! The cron program wakes up every minute, even when you're
offline, and takes a look at the instructions you have loaded with the
crontab command. When it sees a line whose time and date specifiers
match the current date and time, it executes the specified instruction.
I suggest that you test this three-step process with a dummy message that
you send to some email addresses of your own. Once you've made sure it
works, you can schedule a real mailing to your friends.
It has been an interesting challenge to address this question on your
behalf. Please don't rate my answer until you are completely satisfied
with my answer. I am here to help you with any technical problems you may
have in following the above instructions. In case of any trouble, please
advise me through a Clarification Request so that I can lend a hand.
Regards,
leapinglizard |
Clarification of Answer by
leapinglizard-ga
on
01 Jul 2005 01:03 PDT
Absolutely, this method does work offline. The email will be delivered
no matter where you are and regardless of what your computer is doing.
If your computer is turned off, the email still gets delivered,
because the task is scheduled to run on a remote computer that always
stays on. That's the whole point of the service.
I appreciate the difficulty of managing hundreds of email addresses,
but all you have to do is join them on one line, separated by single
spaces, as I describe above. If you have a list of email addresses in
any shape or form, it shouldn't be hard to list them in this way. If
you store your email addresses in a different format, such as a
comma-separated list or a text file with one address per line, it's
possible to convert them instantly into a .mailrc file using a little
script. Let me know if this is the case for you. If you describe the
format you're using, or, better yet, show me a small sample of it,
I'll give you a script that will generate the corresponding .mailrc
file.
leapinglizard
|