#

Advanced Settings

This notebook is accessed via the Advanced submenu option of the Settings option on the program's main window's File menu, or the OK-Goto Advanced button in the General Settings notebook.

The Personal Post Office Page

The Personal Post Office feature is good for several purposes. If you want to test a function of the J Street Mailer, without wasting time logging onto your Internet Service Provider, you can set the program to use a PPO directory as the server. It will then treat the specified directory as if it were a real server, and send outgoing mail to *.POP files in that directory, and download those *.POP files from that directory during mail retrieval.

Or if you have another program which sends and retrieves your mail, you can have that program put your mail into a certain directory, and have the J Street Mailer retrieve it from that directory. Then you read and respond to it, have the J Street Mailer send your outbound mail to the directory where the other program expects to find it, and then have that other program send it on up to the internet for you. The J Street Mailer never goes near your SMTP, POP3, or IMAP servers when the PPO feature is in use; it only interacts with the specified directories instead. Except when you use the Preview Mail feature, which only interacts with POP3 and IMAP servers, never PPO directories.

PPO Inbox Directory
  Here is where you specify the directory from which the program will retrieve the mail. Do not ever specify a directory which will contain anything other than POP3-style mail files, unless the other files will have different filename extensions from any of those you're going to have the program download (see below).
Supported PPO Message Extensions
  Here is where you specify the filename extensions of the files the program should retrieve from the PPO Inbox Directory. The default is "pop". If you want the program to retrieve *.pop and *.txt, you could type ".pop .txt" or "POP,TXT" here. (That is, multiple extensions are separated by a space or a comma, and the period is optional in each extension.) If your operating system is case sensitive in specifying filenames, you might want to say "pop POP Pop" here.
Activate PPO Inbox
  With this checkbox turned on, the program will retrieve mail from the PPO Inbox Directory. With it turned off, the mail will be retrieved from the server.
Prompt Before Retrieving from PPO Inbox
  With this checkbox turned on, the program will always remind you that it's using the PPO Inbox Directory rather than the server for mail retrieval. This is useful if you are using the PPO feature only for diagnostic purposes for a short time, and you want to be sure to remember to change it back. Otherwise, you might wonder two days later why you haven't received any mail from your server account in the past two days, even though your server is actually overflowing and you don't know it, because the program is not looking at your server.
PPO Outbox Directory
  Here is where you specify the directory to which the program will send your outgoing mail.
Activate PPO Outbox
  With this checkbox turned on, the program will send mail to the PPO Outbox Directory. With it turned off, the mail will be sent to the SMTP or POP3 server.
Prompt Before Sending to PPO Outbox
  With this checkbox turned on, the program will always remind you that it's sending mail to the PPO Outbox Directory rather than the SMTP or POP3 server. This is useful if you are using the PPO feature only for diagnostic purposes for a short time, and you want to be sure to remember to change it back. Otherwise, you might wonder two days later why no one has replied to the messages you've sent in the past two days, when the answer is that the messages you've sent are sitting in your PPO Outbox Directory instead of ever having been sent to the internet.

The Mailbox Mapping Page

This feature is useful regardless of whether or not your Internet Service Provider actually provides a mail mapping service for you. It lets you configure each J Street Mailer account to retrieve only the mail which has certain strings in the To:, Cc:, and Bcc: fields, or only the mail which does not have certain strings in those fields.

Mail mapping is a service which some Internet Service Providers will perform. You get your own domain name, and any piece of mail sent to any address in that domain goes into your POP3 mailbox as if it had been addressed there. For example, mail sent to anyone@innoval.com or wherever@innoval.com or made-up-name@innoval.com actually gets delivered to our innoval@tiac.net mailbox because Tiac provides us with this service. If the J Street Mailer didn't have this mail mapping support, we could use Filters to put incoming mail into various folders depending on how it's addressed, but the problem with that method is that all the mail ends up on one computer, and someone must deliver it to the various addressees' offices in our company. But with the J Street Mailer's mail mapping support, you create an account for just one address or a few addresses (separated by commas) in the remapped domain and specify that address in the Internet Addresses field here, and select the Retrieve mail for only these addresses radio button. In the General Settings, the User Name and Password fields should be filled in with the settings for the real account, not the mapped account, since the mapped account is really a virtual account and doesn't exist at all. So in our example, the User Name would be "innoval" and the Internet Addresses field might say wherever@innoval.com,whoever@innoval.com. Then, whenever we retrieve mail in this account, the mail addressed to those addresses is retrieved, and all the other mail in that POP3 account is left on the POP3 server for someone else to retrieve. For example, perhaps by another account which uses the Retrieve mail excluding these addresses radio button instead.

This mail mapping support is useful even if you don't have a mail mapping service provided by your Internet Service Provider, if you want different pieces of mail to be sorted into different accounts, especially if those accounts are on different computers or in different offices. For example, you could have business associates sending you mail at Company Name <youraddress@yourdomain.com>, while friends send you mail at Your Name <youraddress@yourdomain.com>. Then have two identical accounts, one at home and one at work, except that one account's Internet Addresses field contains the one Name <address> combination, and the other's contains the other combination.

When you retrieve mail to an account that's configured to use this mail mapping feature, the program will retrieve the headers of each piece of mail, and only retrieve the message if it finds the specified address in the To:, Cc:, or Bcc: header line (or only if it doesn't, depending on your radio button choice). The Delete retrieved messages from server setting works normally, only deleting the messages that were retrieved, and the others are left there to be retrieved by another account or even another office. But the Retrieve new mail only setting is ignored unless the Mail server supports the UIDL command setting is turned on. Don't be confused by what the status line says during mail retrieval in a mail mapped account. When it says it's downloading 16 messages, that means it's downloading 16 headers to see which ones (if any) belong to the particular address(es) for which the inbasket is configured. But if you ever have some reason to believe that the program hasn't retrieved all of the mail it should have, you can use the Preview Mail feature to look at all the messages on the server, regardless of how they're addressed. Preview Mail will see them all, not just the ones in the Internet Addresses field.

The Printing Page

These settings only have an effect when printing messages, not anywhere else in the program such as the online help.

Font
  This option lets you select the font that will be used for printing messages.
Top Margin
  This option lets you select the size of the top margin for printing messages.
Bottom Margin
  See Top Margin, above.
Left Margin
  See Top Margin, above.
Right Margin
  See Top Margin, above.
Page eject after each message
  The program will always send a page eject after a print job, so this setting applies only when there are multiple messages in a single print job. With this setting turned on, each message will have at least one page to itself. With this setting off, if one message ends before the bottom of its page, the next message will begin in the remaining space rather than not starting until the next page.
Print footer on each page
  With this setting turned on, the bottom of each page will have a horizontal line, the date and time of printing on the left, and the page number on the right. With this setting off, that will not be the case.
Use the following value for dots per inch
  On some systems, when the program asks Java for the printer's page size, the response that Java returns is incorrect. This setting lets you tell the program to ignore Java's answer and use the information you provide instead. If your printout is missing its end, and the top and left margins are bigger than they should be, that means the program is being told that an inch is bigger than it really is, so you need to tell the program to use a smaller number when calculating how much space equals an inch. If your printout's bottom and right margins are too big, that means the program is being told that an inch is smaller than it really is, so you need to tell the program to use a bigger number instead, in this setting. The window in which your Java virtual machine is running will contain a notice after each print job, which will tell you what the program used for the dots per inch setting for that print job, so you can tell what number to start with when increasing or decreasing the value in this setting. Just look where it says "1 inch=".
Wrap lines which exceed the right margin
  You can turn this checkbox off if, for any reason, you want the program to not bother checking the width of each line in the message file before printing it. For example, under OS/2, using the Hewlett-Packard LaserJet printer driver on the original Warp 4 CD, this check causes printing to cost an extra forty-five seconds, at 100% CPU usage, per page printed. If your messages don't have any long lines, then your printouts would not be losing text off the right edge of the page even with this setting turned off, so this check is a waste of your time and CPU power if you're using that particular printer driver. Therefore, you would want to turn this setting off.

The Addressing Approach Page

When you send a message to multiple recipients, you could have either of two different and incompatible objectives in mind. You may want the recipients to be able to see the names of all the other people who received the message, or you may want them all to be hidden from each other. This setting lets you decide which of these results should be your default, and the Edit menu of the compose window lets you change that default for any particular message you're sending. Send as a single message containing all addressees means your message will be sent once, with all the addressees in the message's headers, so that they'll all be able to see each other. Send as multiple messages, one per addressee means that no one will be able to tell who else received the message, but also means that your message will be sent over and over again, as many times as there are addressees.

Whenever you include a bcc: address in a message, this setting is overridden, and the program acts as if you'd selected Send as multiple messages, one per addressee whether you did or not. If this is not acceptable to you, and if you are going to send the message via SMTP, then you can get around it by removing the "X-Send-Approach: Multiple" line from the message in your OUTBOX folder before you send it, using any ASCII text editor. Do not do this if you are going to send the message via POP3 or the Personal Post Office feature! If you do, your bcc: line will be treated as if it were a cc: line! (Which is why the program does override this setting whenever you've added a bcc: line to a message in the compose window.)

The Custom Programs Page

These settings let you specify a program that you want the J Street Mailer to execute for you at the beginning of a mail retrieval, or at the beginning of a send, or at the end of either of those, or after composing a message. You might want to have the program start your internet dialer program and wait 90 seconds at the beginning of each send. If you press the Send button and the Retrieve button at the same time, then you need the retrieve to also wait for 90 seconds before it tries to connect, so that your dialer can get connected first. Then after the send, you might want to make your dialer hang up. And after the retrieve, you might want to do something that you want to have done when no mail is retrieved (since the Filter feature can't help you with that, as it can only act when a message is received). The first four Custom Program settings can fulfill all of these functions.

The program that you can execute upon leaving the compose window (the fifth Custom Program setting) can be used as an alternate editor, or can be used to "scrub" your messages in any way you like before sending them. Just remember not to ever make the J Street Mailer send your mail, while this Custom Program is still running! The program will send the messages in the OUTBOX folder when you tell it to, without regard to the fact that one of them might still be "in use" by this Custom Program or alternate editor at the time. Also, make sure your "scrubber" or "alternate editor" doesn't do something that ruins your messages, because the program is just going to send them without examining them first. For example, if you remove the blank line between a message's header lines and its body text, and the first line of your body text happens to begin with a space or tab character or with a word that ends with a colon, then the SMTP or POP3 server to which you send the message will think that line of body text is still part of the message's header lines and will act accordingly. The only way the server will realize that the client has stopped sending header lines and started sending body text without the blank line which is supposed to signal that transition, is if it receives a line of text that doesn't start with a space or tab or a word that ends with a colon. So you'll have message body text that will be treated as headers, the results of which can be distressing, and especially confusing to the recipient.

In these settings, you can use the Find buttons to select your executable file, or type its name yourself. Then add whatever parameters you want to pass to that program. The J Street Mailer will ask Java to execute the exact string you've typed, whatever it may be.

Under the operating systems on which we've tried this feature, Java cannot execute anything other than *.EXE files and, in the case of Windows 95, the START command. If you need to execute a non-*.EXE file under Windows 95, insert the word START at the beginning of the command. Under OS/2 or NT, insert CMD.EXE /C START instead. Using these methods to start the program in a separate session is also necessary for many character mode (that is, non-GUI or non-graphical) programs which need a "console" for input and output, particularly batch files and REXX programs.

Under OS/2 and Windows 95, even when you do use START or CMD.EXE /C START to run the program in a separate character mode window, in order to run a batch file or REXX program, the session's STDIN and STDOUT (standard input and standard output) has been redirected to some unknown location. In order to get a batch file to take input from the keyboard, you have to redirect STDIN back to the keyboard, and the same goes for STDOUT and the monitor. For example, instead of having the batch file execute PAUSE, it has to execute PAUSE < CON, and instead of ECHO HELLO, it must be ECHO HELLO > CON. In REXX, you can't use SAY and PULL; you might use LINEIN("CON") and LINEOUT("HELLO","CON") instead.

If you want the program to wait, between starting a Custom Program and doing whatever it would do next (like if your Custom Program is an internet dialer and you need to give it time to connect before the J Street Mailer should try to connect to the server), then insert the string "delay=60;" (that is, the word "delay", an equals sign, the number of seconds, and a semicolon) at the beginning of your command line. In this case, the program will tell Java to execute whatever comes after the semicolon, instead of telling Java to execute the whole command line. If you want a delay but no Custom Program (as in the example above, where you initiate a send and a retrieve at the same time, and you have configured the send to start your dialer, so you need for the retrieve to just wait until the connection has been made), you can say "delay=60;" without any program name after it.

For the fifth Custom Program, the one that you can run when leaving the compose window, there is a special parameter: The name of the file that has just been created by the compose window will be passed at the end of the command line, unless you specify that you need that filename to be passed at some other location within the command line. To do so, just place the string "{file}" at that location. That is, the word "file" in French curly brackets.

Once you have filled in the fifth Custom Program setting here, your compose window will stop using its original toolbar and start using an alternate one. This one has an additional button, which is the way in which this Custom Program is activated. When you want to send a message just as it is in the compose window, press the normal Send Later button or the Send Now button. When you're done with the functions of the compose window but you want your Custom Program to be executed against the new message before it is sent (whether the Custom Program functions as an alternate editor or any other kind of scrubber), press the Send Later/Execute Custom Program button instead. (The same function is also available on the File menu of the compose window, in case you have the toolbar turned off.) The message will be placed into the OUTBOX folder just as if you'd pressed the Send Later button, but then the fifth Custom Program will be executed.

The Web Browser Page

This setting lets you determine what type of browser window will be opened when you doubleclick on a URL in the program's main browser panel. The ICE Browser is the one listed at the top of the Browser window style submenu of the Message menu. Sun's HotJava Browser is the other HTML style on that submenu. The other two settings should be able to run any program that will accept a URL as its last or only command line parameter. These programs are executed in the same way as the Custom Programs; the J Street Mailer will pass the command exactly as you've typed it here (with the selected URL at the end), to the operating system, using Java's method of starting native programs. If you would need to use a CMD.EXE /C command or a START command or something to get your specified program to run as a Custom Program as described above, then you would need to do the same thing here as well.