1

You don't have to be home to schedule a program you remember at the last minute. Your family can be on vacation when your spouse reads about a movie they want to record. Send an e-mail to your Carrier Pigeon mailbox, and Carrier Pigeon will automatically schedule the recording and reply with confirmation. I use Carrier Pigeon to schedule programs from my office (where I run DigiGuide—an excellent EPG). That way I don't have to go downstairs, turn on the TV and Windows Media Center, and try to remember what I want to record.

Carrier Pigeon works with Windows 7 Media Center to schedule new recordings when you send it e-mail. You send schedule requests via e-mail and Carrier Pigeon submits the request to WMC and replies with confirmation. I wrote this because the wonderful WebGuide doesn't support Windows 7. While Carrier Pigeon doesn't do everything WebGuide did, it allows me to set up recordings when I'm not in front of the media center. So if you want a secure connection to your Windows Media Center and don't want to poke holes in your firewall or install a Web server on your Windows Media Center, Carrier Pigeon is for you.

Try Carrier Pigeon Free (32- and 64-bit)

Every time Carrier Pigeon runs, it checks its mailbox for e-mail from approved senders. It parses each e-mail for information about the program to record (title, date, start time, channel, etc.), schedules each program with Windows Media Center and replies with the result. Finally, if any of the e-mails requested a status report, Carrier Pigeon replies with a list of programs scheduled to record and a list of programs that have already been recorded.

Carrier Pigeon is a console application and works best if you create a task in Windows Task Scheduler to run it periodically. Be sure to set the task to bring the media center out of sleep. I have a task that runs every hour (at 0:15) between 8AM and 11PM (because I don't plan to send e-mail requests at night).

Carrier Pigeon can send e-mails in plain text and HTML. If you feel creative, you can customize the HTML's CSS any way you like.

Donation

If you enjoy using Carrier Pigeon, please consider making a donation.

Request E-mails

Sample of reply with Scheduled Programs

A simple test of Carrier Pigeon is to send an e-mail to Carrier Pigeon's mailbox with a body of "!help". (The subject doesn't matter.)

!help

When Carrier Pigeon next checks its mailbox, it will reply with an e-mail containing helpful instructions (much like this Web page) and a list of the available channel numbers and callsigns.

Another simple e-mail is a request for status. Send an e-mail to Carrier Pigeon's mailbox with a body of "!status". (The subject doesn't matter.)

!status

Carrier Pigeon will send two replies: one with a list of programs scheduled to be recorded by Windows Media Center and a list of those programs WMC has finished recording.

To request that Carrier Pigeon schedule a new recording, send a plain-text (not HTML) e-mail with the following information in this format.

Program Title (surround with asterisks for keyword search)
Start Date/Time (optional but required if Series is specified; add asterisk to allow alternate airing)
Series (optional but required if the Channel is specified)
Channel Number or Callsign (optional)
Sample of reply with Recorded Programs

If the title has leading and trailing asterisks, the string must occur within the title and Windows Media Center will create a Keyword search.

The starting date/time can be in any standard, parseable format. (I haven't extensively explored Microsoft's parsing ability, so feel free to experiment.)

If you want to allow WMC to record the program at a different time in the event of a conflict, add an asterisk at the end of the start time. This works well when you're recording a movie that might air multiple times; it doesn't work well for programs with episodes since you aren't guaranteed that WMC will select an alternate airing of the episode you want.

Example: Record a program titled The Rockford Files starting on December 16, 2009, at 8:00 AM on any channel.

The Rockford Files
16 December 2009 8:00 AM

Example: Record a program titled Enter the Dragon starting on March 8, 2010, at 8:00 AM on any channel. If there's a conflict, record the program another time.

Enter the Dragon
8 March 2010 8:00 AM*
Sample of confirmation reply

Example: Record a series of programs titled The Rockford Files at any time. All episodes must air on NBC.

The Rockford Files
*
series
NBC

Example: Record a program at a specific time on a specific channel. (If you want to specify a particular channel for the recording and it's not a series request, put any text that is not "series" on that line.)

The Rockford Files
16 December 2009 11:00 PM
notseries
5

Example: Record any program with Rockford in the title.

*Rockford*

(Keyword searches don't require a start date.)

You can also send an e-mail with attachments in Microsoft's click-to-record format. This is useful if you want to make advanced recording requests. You can read more about that format on Microsoft's Web site.

Install Carrier Pigeon

Download the ZIP file using the link on the home page. Extract the files into C:\Program Files\12noon Carrier Pigeon\ on your Windows Media Center machine. Next, see below for how to configure Carrier Pigeon by setting the appropriate values in the configuration file. Finally, create a task on your WMC machine to run Carrier Pigeon regularly.

Configuration File

Carrier Pigeon comes with a default application configuration file. You need to fill in some of its settings before running Carrier Pigeon. You will need a mailbox (on a POP3 server) for Carrier Pigeon to check. This can be with your ISP, GMail, or any other service that provides POP3 access. Note: Do not use your personal mailbox because Carrier Pigeon deletes e-mail as it processes it. You will also need an SMTP server that Carrier Pigeon can use to send its e-mail replies.

POP Server The address of the POP3 server hosting Carrier Pigeon's mailbox (e.g., pop.my_domain.com).
POP Port The port to use when connecting to the POP3 server. Typically, this is 110. It may be different for your server or if you use SSL.
POP Use SSL This boolean value indicates if Carrier Pigeon should use SSL when connecting to the POP3 server.
POP User Name This is the user name that Carrier Pigeon should use when logging in to its mailbox.
POP Password This is the password Carrier Pigeon should use when logging in to its mailbox.
SMTP Use SSL This boolean value indicates if Carrier Pigeon should use SSL when connecting to the SMTP server. This doesn't work with all ports. For example, on GMail, it works with port 587 but not 465.
SMTP Timeout Seconds The number of seconds to wait for the SMTP server to respond when sending an e-mail. By default, this is 10 seconds. You may need to increase it for your SMTP server.
Approved Sender 1 (2, 3, etc.) This is a series of keys ("Approved Sender 1," "Approved Sender 2," etc.) that specify the e-mail addresses or domains that are approved to send e-mail to Carrier Pigeon. For example, if you have your own personal domain for your family, you can set "Approved Sender 1" to "our_family_domain.com" and you can set "Approved Sender 2" to "my_work_address@my_company.com." Note: The number sequence must start with one and increment by one.
SearchSpan When Carrier Pigeon receives a request to schedule a recording, it will search this many minutes before and after that time to find the program.
Use HTML If this value is true, Carrier Pigeon will use HTML when it sends its replies. If it sends HTML replies, it will also use a plain text format
Stylesheet If you're familiar with CSS, you can customize the e-mails that Carrier Pigeon sends by modifying these styles.
The <mailSettings> tag contains the SMTP settings that Carrier Pigeon uses to send e-mail.
from The from address Carrier Pigeon will use when sending its replies. Note that since this is an XML file, you need to use &lt; and &gt; for less-than and greater-than signs. For example: "My Media Server &lt;my_media_server@my_domain.com&gt;".
host The address of the SMTP server Carrier Pigeon should use when sending e-mail (e.g., smtp.my_domain.com).
port The port to use when connecting to the SMTP server. Typically, this is 25. It may be different for your server.
userName This is the user name Carrier Pigeon should use when sending e-mail.
password This is the password Carrier Pigeon should use when sending e-mail.

Test Configuration Settings

Carrier Pigeon includes a separate application called TestConfig.exe. You can use it to test your SMTP and POP3 settings.

  1. Copy the CarrierPigeon.exe.config file (or just the settings) to TestConfig.exe.config.
  2. Run TestConfig.exe.
  3. Press the Test POP3 button. The application will try to connect and, if it's successful, display how many messages are in the mailbox. (There will probably be zero messages.)
  4. Press the Test SMTP button. The application will try to send an e-mail to the From address in the SMTP configuration. If this fails, you may need to increase the timeout value in the configuration file
  5. Press the Test POP3 button. The application will try to connect and, if it's successful, display how many messages are in the mailbox. (There should be one more than there were before.) It may take a few minutes for the mailbox to receive the e-mail, so you may have to press the button a few times.

Run Carrier Pigeon for the First Time

The very first time Carrier Pigeon runs on a computer, it needs to create a name for its event log entries. That means it needs administrative rights the first time it's run. Right-click the CarrierPigeon.exe executable and select the Run as administrator command. Carrier Pigeon will run, create its event source name, and exit.

Schedule a Task to run Carrier Pigeon

This is an example of a task you can create on your Windows Media Center to run Carrier Pigeon on a regular basis.

Open the Task Scheduler and select the Create Task... command. First, name the task. Creating a task for Carrier Pigeon
Start every day at 8:15 AM and repeat every hour until 11:15 PM. Creating a task for Carrier Pigeon
Select the Carrier Pigeon application as the task's action. Creating a task for Carrier Pigeon
You probably want the computer to wake up to run this task. That way, it can sleep most of the time to save power and wake only occasionally. Creating a task for Carrier Pigeon
While it shouldn't be necessary, I recommend specifying that Windows should stop Carrier Pigeon if it runs for more than 15 minutes. That's more than enough time for Carrier Pigeon to do its job. Creating a task for Carrier Pigeon

Requirements

Carrier Pigeon runs on Microsoft® Windows® 7 and requires the Microsoft .NET 3.5 runtime. Carrier Pigeon runs on both Windows 32-bit and 64-bit platforms. Carrier Pigeon uses SharpMimeTools (distributed under GNU LGPL v2.1) to handle e-mail attachments.

History

1.0.1
Initial release

1.0.2
Allow channel numbers. (Map to callsign.)
New !help command.
Increase timeout for SMTP send.
Remove retry after SMTP send failure.
Added separate application to test SMTP and POP3 configuration.

1.0.3
SMTP timeout is a configuration setting.

1.0.4
Added SMTP SSL option.

1.0.5
Use DateTime.MaxValue to get recently-completed recordings.