Frequently Asked Questions
Sending Mail
1. Some recipients are not being included.2. I'm getting error 4510, Unable to locate SMTP server.
3. Not all messages are being delivered, but no errors are reported.
4. AOL users do not seem to be getting messages.
5. Messages are being sent slowly.
6. I'm getting SMTP Error 4570/4590 (usually called "Relaying denied").
7. I'm getting error 553: "To send mail, first check your mail with a valid POP3 account".
8. How can I be sure I'm not overwhelming my SMTP server?
9. Is there a limit to the number of messages Gammadyne Mailer can send?
10. I sent an email to a bogus address, but no error was reported...
11. Gammadyne Mailer is crashing with a fault in wsock32.dll
12. Can Gammadyne Mailer deliver messages directly to the recipients?
13. Gammadyne Mailer can't connect to my SMTP server...
14. I'm getting Winsock Error 10055.
15. I'm getting Winsock Error 10061.
16. Direct delivery is having problems.
17. I'm getting Winsock Error 10051.
18. Gammadyne Mailer crashes immediately after a Send Operation begins.
19. GMCOM.DLL falsely reports that Gammadyne Mailer is not activated.
20. Are there any guidelines for improving delivery and avoiding blacklisting?
Database
1. Errors are occurring when trying to use a database.2. I need to access recipient data that exists in a separate table.
3. All the controls on the "Database" branch are disabled.
4. Dates are not storing properly in the database.
5. No data can be stored to the database.
6. Does it work with Excel?
7. How do I personalize an email with a database column?
8. What databases does Gammadyne Mailer work with?
9. Why do I keep having to locate the database file?
10. I am getting a "Too few parameters. Expected 1." error.
11. I am getting a "COUNT field incorrect" error.
12. Does Gammadyne Mailer have an internal database?
13. Are there any issues with ACT! 2000?
14. I am getting an "Invalid cursor state" error.
15. I am getting an "Operation must use an updateable query" error.
16. I am getting a "Could not delete from specified tables" error.
HTML Email
1. How should embedded images be properly specified?2. HTML email does not appear properly.
3. Images do not appear in the email client.
5. How do I set the background color of the HTML email?
6. Is there a way to determine if the recipient's email client supports HTML?
7. How do I eliminate the HTML body for certain domains?
8. How do I eliminate the HTML body for certain recipients?
9. The embedded images are also appearing as attachments.
10. Can an HTML email use FrontPage server extensions?
11. How should a background image be specified?
12. Images don't show up on the Preview Window.
Incoming Email Processing
1. How do I process bounce-backs, sign-ups, and opt-outs in one project?2. How do I set it up to process bounce-backs?
3. How do I set it up to process opt-outs?
4. How do I set it up to process sign-ups?
5. Why are some messages not being processed?
6. The body keyword was found, but no email addresses were found.
7. I'm getting "No valid recipient email address found" for every message.
8. How do I populate the new database row?
9. How do I extract data from the incoming email?
10. How do I delay removal until several messages have bounced?
11. How do I modify multiple rows for one recipient?
12. Removing bounces and opt-outs is slow...
13. How do I react to the subject?
14. How do I redirect an auto-response?
Miscellaneous
1. I'm getting an "Out of Memory" error.2. How fast is Gammadyne Mailer?
3. The email address verification does not seem to be very accurate.
4. Can email be sent if AOL is my ISP?
5. Will the recipients be able to see other recipient's email addresses?
6. When the message arrives, it has a line through it.
7. When the messages arrive, the "From:" or "To:" header has an @ sign and the server name appended to it.
8. Can Gammadyne Mailer collect (harvest) email addresses from the web?
9. Does Gammadyne Mailer come with a list of email addresses that I can use?
10. How can I track whether or not the messages are being read?
11. How do I get my DOS window to close after it finishes?
12. How do I find my DNS server IP address?
13. How do I create hyperlinks in the text body?
14. How do I resume an interrupted mailing?
15. How do I get a copy of the final MIME body of a message?
16. What is required to run Gammadyne Mailer?
17. How do I import addresses from the Outlook Express Address Book?
18. Can I use an MS Word document for the message body?
19. Hotmail is automatically putting my mail in the 'Bulk Mail' folder.
20. Is there a discount for educational institutions?
21. Is there a discussion group/forum for Gammadyne Mailer?
22. Who is using Gammadyne Mailer?
23. Can Gammadyne Mailer send email anonymously, without revealing my IP address?
24. Is Gammadyne Mailer vulnerable to viruses?
25. Can Gammadyne Mailer run as a Windows NT Service?
27. Norton Internet Security 2005 is interfering with outgoing email.
28. A double period is appearing in the email.
29. How can unicode characters be specified in a header?
If you still can't solve the problem, you may contact our technical support department. However, please be aware of the following:
- Using email allows us to provide free, unlimited technical support. Our software is very inexpensive, and we do not currently have the resources to provide this level of support over the telephone.
- Technical support can assist with the software's configuration, but within limits. Sometimes configuration requires intimate knowledge of your business and may necessitate a Systems Analyst.
- Technical support is staffed Monday through Friday, 10:00am - 6:00pm Central Time (GMT-6:00). Of course, you can send us email any time.
Click here to send an email to Gammadyne Technical Support. We value your feedback and appreciate your interest in our software!
---Answers---
Sending Mail
- Look at the log - it lists why each recipient is excluded. If you are using the Clause Table, check the "Internally process Clause Table" box.
- One of the database clauses excludes rows based on a string or date. If the column contains a null value, the clause will fail for that row. This even occurs when the clause uses the <> operator. This is a limitation of the SQL standard and not Gammadyne Mailer.
- There is a clause in the Clause Table that is excluding the rows. Try checking the "Ignore" column to see if a clause is the problem. Make sure string values in are not enclosed in quotes.
- An incorrect Recipient Column was chosen. This column must contain an email address.
- There are duplicate recipient email addresses and the "Eliminate duplicate recipients" box is checked.
- Check the recipient's email address carefully. Some databases, like Access, will only show the first line of the cell. If the cell contains more lines, they will not be visible. Make sure the email address is only one line and has exactly one "@" character.
- Recipients are being excluded based on the contents of the Exclusions branch.
- If using a database (especially Excel), try setting the Cursor Type (on the Database/Setup branch) to "Static" or "Forward Only".
Error 4510 occurs when DNS fails to provide the mail server for the SMTP server. Verify all settings on the Servers/DNS branch. Use the "Test DNS Servers" tool to verify that DNS is working. Verify that the name of the SMTP server is correct. Try identifying the SMTP server by its IP address instead of its name.
- Look at the Send Log to see if any errors are mentioned.
- Use the "Check Blacklisting" tool to determine if your IP address, or the SMTP server's IP address, is blacklisted.
- Some SMTP servers are picky about the email address in the "From:" header. If the "From" address is not a registered user, they will refuse to pass on your messages. However, there is usually an error reported in this case.
- AOL has been known to discard messages if too many arrive from the same source too fast. On the Domain Throttles branch, click the "Default" button.
- MS Exchange Server may fail to relay messages if improperly configured.
- Try disabling the "Recycle SMTP Connection" feature.
- If you are using the "Identical" Send Mode, try switching to the "No Preview" Send Mode. It won't be as fast, but it may be more reliable.
- Make sure you are not using the "Expiration Date" setting on the Headers branch. Even if the expiration date is correct, the user may not have the correct date/time on their computer's clock.
- Try sending a very simple text email. The content of the email may be causing the recipient's mail server to discard it.
- Try sending the same message from another program, like an email client. If it does not go through, then the problem is not specific to Gammadyne Mailer.
- Try sending a test message using Direct Delivery. If it arrives, then the problem is with the relaying email server. It could be flooded with email, compromised by malware, or the victim of a Reverse-NDR attack.
- Wait a little while - not all email is instantaneous.
If no errors are reported in the log, that means Gammadyne Mailer is doing its job and delivering the email to your SMTP server. What happens to it after that is outside Gammadyne Mailer's control.
Possible causes:
- AOL blocks all email originating from a dynamic IP address/residential gateway. Generally, email must be relayed through a web server with a static IP address.
- The "From:" header must contain a legal email address.
- The "To:" header must contain the same email address as the recipient. On the Headers branch, leave the "To:" box unchecked.
- The HTML Body cannot contain "hex-encoded URL's". In other words, any hyperlink in the HTML cannot contain a URL that has hex-encoded characters (such as "%20", which represents a space).
- It is very important to keep the mailing list clean of bad AOL addresses. If the mailing contains more than 10% bad addresses, AOL will start to block all emails. Hence, after each mailing, it is important to remove all bounced email addresses from the mailing list. If the number of bad addresses is unknown, it would be prudent to throttle the delivery to AOL. Also, if AOL cannot deliver bounce-backs, this too will incur their wrath. Make sure the email's From: header specifies a valid mailbox that can receive email.
- AOL has blacklisted the computer's IP address or the SMTP server's IP address.
- When using the Direct Delivery feature, use the "Check PTR Record" tool to make sure that it is possible.
- AOL has been known to discard messages if too many arrive from the same source too fast. On the Domain Throttles branch, click the "Default" button.
We also recommend visiting http://postmaster.info.aol.com/index.html for AOL's official rules. If that doesn't help then call AOL or open tickets with the AOL Postmaster Group (the number is 703-265-4670) so that they can work with you. They'll need to know what your sending IP address is, which is reported by Gammadyne Mailer's "Check PTR Record" tool.
- Send an email with another program. If it is slow, the problem is with the SMTP server or the Internet connection itself. Your ISP may be limiting the bandwidth on port 25 to prevent users from sending large amounts of spam.
- Some viruses infect the operating system's Internet DLL's. It would be prudent to check the system for malware.
- Make sure there is plenty of free hard drive space - it is needed for virtual memory. Virtual memory settings are located in Control Panel, System, Performance, Virtual Memory. Also, if the computer has 128 MB of RAM or less, consider getting more RAM.
- Terminate other applications that use Internet bandwidth.
- Reduce the size of the message, its attachments, and embedded images. Email sending time correlates directly with email size.
- The mail server could be suffering from a Reverse-NDR Attack. Our product Toriss solves this problem.
- Look at the Send Log's performance statistics to see how much time was spent waiting on the database. If the database takes a lot of time, the database file may be corrupt. Many databases have a "Compact and repair database" tool that should be tried. If the database is located on the network, try using a local copy to determine if the network is causing the slowdown.
- Get a faster Internet connection.
- Disable the "Eliminate duplicate recipients" feature on the "Filtering" branch if there are no duplicates (for a small performance improvement).
- Uncheck the "Record send log" option on the "Logging" branch (for a small performance improvement).
If using Direct Delivery:
- Use the "Test DNS Server" tool to check how fast the DNS server is responding.
- Disable the "Retry direct delivery failures" option on the "Delivery" branch.
- Increase the number of Threads on the "Send" branch.
- Please note that if using the "Delayed Retry" feature, this will often skew the performance statistics. Throughput may be much better than is reported.
If not using Direct Delivery:
- Look at the log's performance statistics to see if the data sending speed is much lower than the speed of the Internet connection. If so, this indicates that the SMTP server is the bottleneck.
- Enable the "Recycle Connection" feature on the "Delivery" branch.
- If possible, specify more than one SMTP server on the "SMTP" branch.
This is the most common error our users encounter. We have a complete article about it here.
Error 553 is a "feature" of the SMTP server. It will not relay mail until a successful POP3 login is made. This is designed to prevent others from sending spam through the account. In Gammadyne Mailer, check the "Login to POP3 server" box on the "Servers/SMTP" branch, and fill in the name, user, and password for the POP3 server.
When a server becomes overloaded, sending mail to it will be slower. The server may even begin to refuse connections (Winsock error 10061).
Solutions:
- Reduce the number of Threads on the "Send" branch.
- Do not use the "Identical" Send Mode.
- Use the Throttle setting on the SMTP Server Table.
Gammadyne Mailer does not have an arbitrary limit on the number of recipients. When using a database, only one record is in memory at a time. For lists that are in a text file, Gammadyne Mailer will scan through the file one line at a time. These techniques use very little memory and permit absolutely huge mailing lists.
If the list has more than 1000 recipients, the "No Preview" Send Mode should be used.
There is no limit to the message size, although many SMTP servers have trouble with messages over 4 MB.
Gammadyne Mailer is not intended for spamming and contains no features for hiding your identity. Please send email only to customers, acquaintances, and opt-ins.
At the time that Gammadyne Mailer delivers the email to the SMTP server, the server will happily accept it and try to deliver it to the final destination later. From Gammadyne Mailer's point of view, there was no error. When the SMTP server fails to deliver the email, it will return a bounce-back message.
Even when using Direct Delivery, the recipient's mail server may accept the email, producing no immediate errors, then later send a bounce-back. No email program can prevent this.
A fault in wsock32.dll can be caused by:
1. Bad network adapter driver. Try uninstalling and reinstalling it.
2. A virus.
3. Faulty networking hardware. Try a different network adapter.
4. A poorly behaved application (Gammadyne Mailer is not one).
5. An unstable system.
Yes, use the "Direct Delivery" option on the "Send/Delivery" branch. When checked, each message is delivered directly to its recipient's mail server.
For more information, please refer to this article.
Error 4515 occurs when a connection cannot be made with the SMTP server. Check the following:
- Make sure the SMTP server name is correct.
- Make sure the SMTP server's port number is correct. This is usually 25.
- Make sure the correct authentication settings are specified.
- Check to see if another program can send email using the same settings.
- To eliminate DNS as the culprit, specify the IP address of the SMTP server instead of its name.
- Make sure no firewall is blocking Gammadyne Mailer or port 25.
- Make sure that your ISP is not blocking port 25. Many ISP's do this to prevent their users from sending bulk email.
Cause: An operation on a socket was not performed because the system lacked sufficient buffer space or because a queue was full. This error indicates a shortage of resources on the system. It can occur if too many applications are running.
Solution: Reboot the machine. Reduce the number of Threads on the "Send" branch.
The server is actively refusing the connection request from your computer.
Solutions:
- Make sure that the server's SMTP service is running.
- Make sure that port 25 is not blocked by a firewall.
- Reduce the number of Threads on the "Send" branch.
- Use the Throttle in the SMTP Server Table on the "SMTP" branch.
- Make sure that your ISP is not blocking port 25. Many ISP's do this to prevent their users from sending bulk email.
- Configure the mail server to keep undeliverables in the mail queue for no more than an hour and a half.
- Delete all email in the mail server's mail queue. Some email could be "stuck" there.
- Use the "Direct Delivery" feature (on the "Delivery" branch) to bypass the SMTP server altogether.
- It could be that the server is too overwhelmed to accept new connections.
- The mail server could be suffering from a Reverse-NDR Attack. Our product Toriss solves this problem.
- Reboot the mail server.
- Wait a bit and try again.
Potential problems:
- Use the "Check PTR Record" tool to verify that Direct Delivery is possible.
- Your ISP is blocking port 25.
- Make sure the DNS settings are correct. Use the "Test DNS Servers" tool.
- The "SMTP Timeout" setting (on the "SMTP" branch) should be at least 600 seconds.
- The "DNS Timeout" setting (on the "DNS" branch) should be at least 30 seconds.
Error 10051 is indicative of an improperly configured network. The official explanation for this error code is as follows:
The local network system can generate this error if there is no default route configured. Typically though, Winsock generates this error when it receives a "host unreachable" ICMP message from a router. The ICMP message means that a router cannot forward the IP datagram, possibly because it did not get a response to an ARP request (which might mean the destination host is down).
This is usually because the operating system cannot handle so many Threads. On the Send branch, change the Threads setting to something small, like 4, and try it again. Windows 9x/ME users should never use more than 64 threads. If this does not help, please contact technical support.
In order for Gammadyne Mailer's activation status to be recognized properly, the user's security settings must permit access to the following two registry keys:
HKLM\Software\Microsoft\Current Version
HKLM\Software\Microsoft\Current Version\Uninstall\Gammadyne Mailer
Also, the user needs to have access rights to the following file:
c:\Program Files\Gammadyne Mailer\gm-reg.dat
In the interests of staying off the blacklists and ensuring high delivery rates, there are some guidelines to consider:
- Include an opt-out link.
- Explain to the user why they are receiving the email.
- The Sender: field (on the Headers branch) should be a valid email address on the server from which the email is relayed.
- The email must be relayed from a computer that has a static IP address. Also, there should be a "Reverse DNS" record for the IP address.
- Keep the mailing list clean of bad addresses. After performing a mailing, remove all bounce-backs from the mailing list. Excessive failed attempts can result in blacklisting.
Database
Possible solutions:
- Make sure the Table Name is correct.
- Make sure all column names in the "Custom WHERE Clause" are correct.
- Make sure the Identity Column is the Primary Key for the table. It must have a unique value for each row of the table.
- Some databases permit invalid characters in a column name, even though such characters are illegal in SQL. Column names should contain only letters, digits, and the underscore.
- Run the database's "Compact and repair database" tool (if present).
- If errors occur when storing dates, try a different "SQL Date Format" setting (on the Database/Setup branch).
- In the ODBC Administrator, delete the system data source and recreate it. Make sure the correct driver is chosen for the type of database being used.
Use the database to create a "View" (a.k.a. "Query") that joins the data into a single result set. Then, specify the View's name for the Table Name.
If a View cannot be created, use the "Custom SELECT Statement" setting on the "Database" branch to create the database result set.
The db_get() G-Merge function may also be useful. See the help file for details.
Please install Microsoft Data Access Components from:
http://msdn.microsoft.com/data/default.aspx
Change the "SQL Date Format" setting on the Database/Setup branch and try it again. There are only four possible choices; one of them should work.
If all types of database assignments fail, refer to the next FAQ.
If all database assignments fail to work right, check the following:
- Make sure that the "Identity Column" (on the "Database" branch) is correct. The Identity Column must be the Primary Key, which has a unique value for each row.
- Make sure that no script declares a G-Merge variable with the same name as the column.
If only dates cannot be stored in the database, see the previous FAQ.
To use an Excel worksheet in Gammadyne Mailer, the worksheet must be registered as an ODBC Data Source. This allows all third-party programs to use the worksheet. Follow this procedure to register the worksheet with ODBC:
1. In Gammadyne Mailer, select "Register database" from the "Database" menu. The ODBC Data Source Administrator will appear.
2. Click on the "Add" button.
3. In the driver list, click on "Microsoft Excel Driver". Click on the "Finish" button.
4. Type in a friendly name for the data source. This name will appear in Gammadyne Mailer's drop down list.
5. Click on the "Select Workbook" button.
6. Select the Excel file on the hard drive. The file will have an ".xls" extension. Click on the "OK" button.
7. Click on the "OK" button to exit the ODBC Data Source Administrator. The Excel worksheet can now be used directly in Gammadyne Mailer by specifying it on the Database branch.
EXCEL COLUMN NAMES
The first row of the worksheet should contain the column names. These column names can be inserted into an email to personalize it, like this:
Dear [[customer_name]],
EXCEL TABLE NAMES
The Table Name that is entered into Gammadyne Mailer must end with a dollar sign and be surrounded by accent characters. The accent character key is usually above the Tab key, next to the "1" key. Here is an example of a proper Excel table name:
`sheet1$`
CURSOR TYPE
It is strongly recommended that the Cursor Type (on the Database/Setup branch) be set to "Static" or "Forward Only".
Place the column name inside double brackets, like this:
Dear [[CustomerName]],
See the help file under the title "G-Merge" for more information on personalizing messages.
Gammadyne Mailer will work with any ODBC-compliant database that can be registered with the operating system (in Control Panel, ODBC Data Sources). This includes all the major databases like Access, SQL Server, FoxPro, dBase, MySQL, and Oracle.
Gammadyne Mailer can also work with comma-separated text files, (.CSV files). Please refer to the "Simple-Merge" feature at the bottom of the "Recipients" branch.
You must register the database under Control Panel, ODBC Data Sources and then point Gammadyne Mailer to the registered data source. This will prevent the need to locate the database every time that Gammadyne Mailer needs to use it.
Look in the Help file for specific instructions on registering a database. From the Table of Contents, choose "Database Menu", then "Register Database".
We've noticed this error sometimes appears when a database column name is not recognized. Check the database columns in the Clause Table and Custom WHERE Clause. Also, make sure that none of the column names contains a question mark.
We have observed Access producing this error when a column name has a question mark. Please rename the column.
Gammadyne Mailer does not have a built-in database. An external database must be used. We recommend MS Access, as it is stable and adequate for most needs.
Gammadyne Mailer will work with ACT! 2000. However, please be aware of the following information which was taken from the ACT.com web site:
- ACT! 4.0/2000 is not fully ODBC compliant.
- You can use ODBC to read an ACT! database.
- You should not use ODBC to write to an ACT! database.
- For this to work with many applications, the filename must have no more than 8 characters and the extension no more than 3.
- This may not work with all fields.
On the Database/Setup branch, change "Cursor Type" to "Static".
This typically occurs when trying to assign a new value to an Excel worksheet. Excel does not support changes through ODBC. We recommend moving the Excel data into a real database, like Access.
This typically occurs when trying to delete a record from an Excel worksheet. Excel does not support deletions through ODBC. We recommend that moving the Excel data into a real database, like Access.
HTML Email
Before version 33.0, the <img> tags had to be properly specified. This is no longer necessary. On the HTML Body/Options branch, set the "Image Locality" to the desired mode, and Gammadyne Mailer will automatically reformat the <img> tags and embed the images.
Most email clients do not support embedded objects, scripts, frames, external style sheets, and possibly other HTML features. It is best to keep the HTML as simple as possible. Any HTML generated by a Micro$oft product will contain non-standard, propietary tags that lack universal support. The HTML may look okay in Outlook, but not in other clients.
Possible causes/solutions:
- Some email clients, including Thunderbird, cannot handle spaces and certain symbols in the image filename. For the best results, the filename should contain only letters and digits.
- Separate image files cannot share the same filename, even if they are located in different directories.
- It helps if the images are located in the Embedded Files Directory (located on the HTML Body/Embedded Files branch).
- Try using the "Troubleshoot HTML" tool.
- Gammadyne Mailer does not support images specified by a style sheet. The style sheet should only refer to external images with a complete URL. The style sheet itself must not be located in an external file.
- Gammadyne Mailer does not support images specified by the "style" attribute of an HTML tag. This technique will only work if the image's URL is absolute (not relative).
- Images may not appear correctly on the HTML editor's "Preview" tab, or in the Preview Window. However, this does not mean that they will not appear correctly in the email client. Send a test message to yourself to verify that the images work.
To control the background color of the HTML body, the <body> tag should look something like this:
<body bgcolor="#FFFFFF">
Or, using a graphical texture for the background:
<body background="http://foo.com/bar.jpg">
Gammadyne Mailer does not know if the recipient's email client will support HTML or not, because such a thing is impossible. The recipient might use two different email clients for example. Gammadyne Mailer sends HTML email in compliance with RFC-2110. This standard allows the email client to instead display the text body if HTML is not supported. In the unlikely event that the client does not adhere to the standard, the worst that will usually happen is that the raw HTML code will be displayed after the text body.
To prevent HTML bodies from being sent to certain domains (such as AOL.com), follow this procedure:
1. Go to the "HTML Body/Options" branch.
2. Check the "Exclude HTML body for domains" box.
3. Enter the domain name next to this box. Multiple domain names can be separated by commas.
It is possible to eliminate the HTML body for particular recipients. If the [[nixbody]] G-Merge statement is encountered in the HTML Body, only the Text Body will be sent to the recipient.
First, create a boolean (yes/no) database column. In this example, we'll call it "no_html". Put a checkmark in this column for all recipients that should not receive an HTML body.
Then, insert the following G-Merge statements at the beginning of the HTML body:
[[if no_html]] [[nixbody]] [[endif]]
Sorry, but there is no way to prevent the recipient's email client from listing all embedded images along with the attachments. Most email clients don't do it, but some do - there is nothing in the standard that prohibits it.
No - most email clients do not support this.
A background image should not be specified in the <BODY> tag. Instead, use a table, like this:
<body>
<table style="background-image: url(http://foo.com/bar.gif)" width="100%">
<tr><td>...</td></tr>
</table></body>
For broadest support, do not attempt to embed the image - an external image should be used.
This usually won't affect the appearance of the email in the recipient's email client. However, it is pretty easy to fix. On the HTML Body/Embedded Files branch, set the "Embedded Files Directory" to the location on the hard drive where the images are located. That's it! Please note that for this to work, all of the embedded images must be located in this directory.
Incoming Email Processing
Although it is not recommended, this is possible. Please refer to Incoming Script Example #14 in the Help file.
To create a MS-DOS batch that will launch multiple incoming projects, please refer to the Help Guide entitled "Batch Operations".
The following procedure will set up Gammadyne Mailer to process bounce-backs:
- On the "Incoming/Source" branch, enter the mail server information for the incoming email account. Bounce-backs are returned to the "Sender:" field on the "Headers" branch.
- On the "Incoming/Criteria" branch, check the "Body must contain keyword" box. Right click on the editbox below it, and choose "Use bounce-back defaults".
- On the "Incoming/Processing" branch, set the Processing Mode to "Remove". Set "Addresses in body" to "Process if follows keyword". Uncheck all other options. The "Delete messages" setting should be set to "Never" while testing, then later to "Always". "Process From:" must be unchecked because the sender of the bounce-back is the SMTP server.
- If using a database, specify all relevant information on the "Database" branch and its sub-branches. This includes the Database Name, the Table Name, the Recipient Column, and the Identity Column. Note: the Identity Column must have a unique value for each row of the table.
- If using a database, choose an appropriate Removal Method on the "Remove/Options" branch.
- If not using a database, specify the location of the mailing list file on the "Recipients" branch.
- On the "Remove/Locations" branch, choose the relevant locations where the recipients should be removed from. Review the settings on the "Remove/Options" branch.
- From the Tools menu, choose "Check incoming mail" (or press F7). Gammadyne Mailer will connect to the POP3 account, read all mail it contains, and process the messages that meet the criteria. After it finishes, a summary is displayed.
The following procedure will set up Gammadyne Mailer to process Opt-Outs. An Opt-Out is an email request to be removed from a mailing list.
- On the "Incoming/Source" branch, enter the mail server information for the incoming email account to which the users will send their Opt-Out emails. It is recommended that there be a separate email account dedicated to Opt-Outs.
- On the "Incoming/Criteria" branch, check the "Subject must contain keyword" box. Below this, enter the word "REMOVE". Of course, this only applies if you require the recipient to specify "REMOVE" in the subject. For email accounts that are dedicated to Opt-Outs, this is not necessary.
- On the "Incoming/Processing" branch, set the Processing Mode to "Remove". The only option that should be checked is "Process From:". The "Delete messages" setting should be set to "Never" while testing, then later to "Always".
- If using a database, specify all relevant information on the "Database" branch and its sub-branches. This includes the Database Name, the Table Name, the Recipient Column, and the Identity Column. Note: the Identity Column must have a unique value for each row of the table.
- If using a database, choose an appropriate Removal Method on the "Remove/Options" branch.
- If not using a database, specify the location of the mailing list file on the "Recipients" branch.
- On the "Remove/Locations" branch, choose the relevant locations where the recipients should be removed from. Review the settings on the "Remove/Options" branch.
- From the Tools menu, choose "Check incoming mail" (or press F7). Gammadyne Mailer will connect to the POP3 account, read all mail it contains, and process the messages that meet the criteria. After it finishes, a summary is displayed.
The following procedure will set up Gammadyne Mailer to process Sign-Up/Opt-In emails (subscriptions to a mailing list).
- On the "Incoming/Source" branch, enter the mail server information for the incoming email account to which the users will send their Sign-Up emails. It is recommended that there be a separate email account dedicated to Sign-Ups.
- On the "Incoming/Criteria" branch, check the "Subject must contain keyword" box. In the editbox below it, enter "SUBSCRIBE" or whatever text is required to subscribe to the mailing list. This is not necessary if the email account is dedicated to only Sign-Ups.
- On the "Incoming/Processing" branch, set the Processing Mode to "Add to recipient file", "Add to database", or whatever is appropriate. Uncheck all other options except "Process From:". The "Delete messages" setting should be set to "Never" while testing, then later to "Always".
- If using a database, specify all relevant information on the "Database" branch and its sub-branches. This includes the Database Name, the Table Name, the Recipient Column Name, and the Identity Column.
- If not using a database, specify the location of the mailing list file on the "Recipients" branch.
- From the Tools menu, choose "Check incoming mail" (or press F7). Gammadyne Mailer will connect to the mail server, fetch all incoming mail, and process the messages that meet the criteria. After it finishes, a summary is displayed.
The Incoming Log contains a detailed report of everything Gammadyne Mailer does during an incoming operation. This reasons why messages were not processed can be found there.
On the "Incoming" branch, check the "Record incoming log" option. To view the log, choose "View incoming log" from the Tools menu, or press F10.
The problem may be that the email addresses are occurring more than 2 lines away from the body keyword. Change the "Addresses in body" setting (on the "Incoming/Processing" branch) to "Process all".
- Either "Process From:" or "Process Subject:" must be checked, or "Addresses in body" should be set to anything but "Ignore". Otherwise, Gammadyne Mailer will not know where to look for the email address to be processed.
- The "Addresses in body" setting may need to be "Process all". Keep in mind that if it is set to "Process if follows body keyword", then the email address must occur within two lines after the body keyword.
When the Processing Mode is "Add to database", the Incoming Script can use "let" statements to populate the newly created row:
[[let process_code = 6]]
[[let acct_rep = "John Public"]]
[[let sign_up_date = ‑Now‑]]
[[let message = ‑Message‑]]
A more efficient alternative is to add and populate the row in one step with the db_add_row() G−Merge function, like this:
[[db_add_row("process_code", 6, "acct_rep", "John Public", "sign_up_date", -Now-, "message", -Message-)]]
The latch() G-Merge function can be used in the Incoming Script to extract data from the incoming message. Consider the following message:
Name:John Public
Age: 36
Gender:M
The following Incoming Script could be used to extract this information and store it, first to a variable 's', and then to a file.
[[var s = latch(-Body-, "Name:") + CR]]
[[let s = s + latch(-Body-, "Age:") + CR]]
[[let s = s + latch(-Body-, "Gender:") + CR]]
[[file_save("c:\foo\bar.txt", s]]
If the Processing Mode is "Add to database", the following script will extract this information and store it in the new row. In this example, "name", "age", and "sex" are the names of database columns.
[[let name = latch(-Body-, "Name:")]]
[[let age = latch(-Body-, "Age:")]]
[[let sex = latch(-Body-, "Gender:")]]
The db_acquire_row() function can be used to lookup a recipient by their email address, and allow the columns of the recipient's database row to be modified. The following example increments a column named "bounce_count". If the resulting value is more than 4, the recipient is removed from the database.
[[if db_acquire_row(convert_lower_case(‑Email‑))]]
[[let bounce_count += 1]]
[[if bounce_count > 4]]
[[db_delete_row()]]
[[endif]]
[[endif]]
Please keep in mind that the Recipient Column must contain simple, lower case email addresses in order for the recipient to be found by db_acquire_row().
Here is an example that sets a column named "optout" to TRUE for all occurrences of the recipient. This uses db_acquire_next_row() function to acquire subsequent rows after the first.
[[if db_acquire_row(convert_lower_case(‑Email‑))]]
[[let optout = TRUE]]
[[while db_acquire_next_row()]]
[[let optout = TRUE]]
[[endw]]
[[endif]]
To perform a removal, Gammadyne Mailer must check each record of the database. This is necessary in order to implement all of the features on the "Remove/Options" branch. However, there is an alternative method. The db_acquire_row() G-Merge function will use a database query to find the email address. Change the Processing Mode from "Remove" to "No processing". Then specify the following G-Merge script:
[[if db_acquire_row(convert_lower_case(‑Email‑))]]
[[db_delete_row()]]
[[endif]]
This should be faster than performing a Remove operation. However, it has the following disadvantages:
- The Recipient Column must contain simple, lower case email addresses in order for the recipient to be found by db_acquire_row().
- None of the features on the "Remove/Options" branch will be available.
- The workload will shift from Gammadyne Mailer to the database.
Either way, it helps if the Recipient Column's "indexed" property is enabled in the database.
Performance may also be improved by checking the "Fast Removal" box on the Remove/Options branch.
The following example illustrates how the Incoming Script can take different actions based on a keyword in the subject. The str_contains_i() function is used to search the subject for the keyword.
[[if str_contains_i(‑Subject‑, "SIGNUP")]]
[[db_add_row()]]
[[let email = convert_lower_case(‑Email‑)]]
[[let status = "Active"]]
[[else]]
[[if str_contains_i(‑Subject‑, "REMOVE")]]
[[if db_acquire_row(convert_lower_case(‑Email‑))]]
[[db_delete_row()]]
[[endif]]
[[endif]]
[[endif]]
The auto-response can be redirected by assigning a new email address to the
‑Recipient‑
predefined variable. The following example redirects each incoming email to a different salesman in rotating fashion. A file will store the index of the next salesman to receive the forwarded message.
[[rem fetch the global salesman index]]
[[var n = convert_to_number(file_fetch("c:\work\salesman_index.txt"))]]
[[rem make sure the index is valid]]
[[if n < 1 or n > 3]] [[let n = 1]] [[endif]]
[[rem change the recipient to the appropriate salesman]]
[[let ‑Recipient‑ = switch(n, 1, "jim@foo.com", 2, "bob@foo.com", 3, "jane@foo.com")]]
[[rem save the new incremented index]]
[[file_save("c:\work\salesman_index.txt", number_format(n + 1, ".0"))]]
Notes:
- Replace "c:\work\salesman_index.txt" with an appropriate filepath from the hard drive.
- Change the n > 3 to reflect the number of salesmen.
- Replace the addresses inside the switch() function to the email addresses of all the salesman.
- On the Text Body branch, it is probably desirable to include the
[[-Body-]]
statement so that the salesman receives the incoming message as it was written.
Miscellaneous
- Make sure that the hard drive has plenty of free space - at least 300 MB.
- Because the "Normal" Send Mode keeps all messages in memory all at once, it can use a lot of memory. Try the "No Preview" mode instead.
- Make sure that virtual memory has plenty of room. Virtual memory settings are in Control Panel, System. Click on the Performance tab, then the Virtual Memory button. Generally, it is better to let the system manage virtual memory.
- Using the "Eliminate Duplicate Recipients" option can use a lot of memory for large lists. If there are no duplicates, turn this feature off.
Multiple threads allow Gammadyne Mailer to send email as fast as the Internet connection allows. Following is a list of the number of 4 KB messages that can be sent in one hour. These figures are approximate, and can depend greatly on the message size, the speed of the Internet connection, the speed of the SMTP server, etc.
| Connection Speed | Messages Per Hour |
| 56K | 2500 |
| ISDN 64K | 3500 |
| ISDN 128K | 7000 |
| Cable 128K up | 7000 |
| DSL 384K | 21,000 |
| T1 1.5M | 105,000 |
When the Identical Send Mode is used, these numbers can increase by a factor of 10. This feature will address a single email to multiple recipients. The downside is that the messages cannot be personalized, and many mail servers will consider this spam.
Not all SMTP servers support mailbox verification because this is commonly used by spammers. It is better to send all the messages and remove the bounce-backs.
No. AOL blocks port 25 except to its own mail servers. However, its own mail servers have very restrictive policies, and there is no real chance that you can relay a significant quantity of mail through them. We recommend getting a real ISP.
The only way a recipient's email address will ever appear on another recipient's message is if the CC: header is used.
Uncheck the Expiration Date setting on the Headers branch.
An SMTP server may automatically append an @ sign and its domain name to the "From:" or "To:" headers if they do not contain an email address. This is a "feature" of some SMTP servers, and unfortunately Gammadyne Mailer has no control over it. The only solution is to specify an email address in those fields.
Note: some SMTP servers are so stupid, they will not recognize that these fields do contain an email address when the "Specify header's character set" feature is used (located on the Headers branch). Therefore, this feature must be disabled. Also make sure that the "Allow extended characters in header" option is checked.
No. The only possible use for a list of random email addresses is spamming. Please do not send spam with our software.
No. The only possible use for a list of random email addresses is spamming. Please do not send spam with our software.
There is no reliable way to automatically detect when a user has viewed an email. The original common method involves the web server detecting when the recipient downloaded an image for an HTML email. However, for security reasons, many email clients no longer automatically download images. Since there is no 100% effective method, we have little motivation to implement this feature. If this feature is really important, there are third-party solutions available, such as ReadNotify.com
On the Headers branch, there is a "Reading Confirmation" option. However, most recipients will find this annoying and refuse to send the confirmation. No email client will always send the confirmation automatically.
On the Send/Logging branch, there is a "Delivery Status Notification" feature. However, not all SMTP servers support it. Also, this does not guarantee that the recipient actually read the message, only that it was delivered to their mailbox.
The following procedure will force a DOS batch window to automatically close when it finishes:
1. Create a shortcut to the batch.
2. Right click on the shortcut, choose Properties.
3. On the Program tab, check the "Close on exit" box.
4. Click the OK button.
Your ISP is responsible for providing this information. Usually, they post this information on their website.
Following are several methods for finding out which DNS server your computer is using:
Method #1
1. Choose "Run" from the Start Menu.
2. Type "winipcfg" and press Enter.
3. Click the "More Info" button.
4. The DNS server will be listed at the top.
Method #2 (LAN, shared, or proxy connections)
1. Open Windows Explorer (the hotkey is Win+E).
2. Right click on "Network Neighborhood" and choose "Properties".
3. Double click on the "TCP/IP" protocol that is bound to the network adapter. The "TCP/IP Properties" window should appear.
4. Select the "DNS Configuration" folder.
5. The DNS server address is listed under "DNS Server Search Order". If it is not listed here, ask your system administrator.
Method #3 (dial-up connections)
1. Open Windows Explorer (the hotkey is Win+E).
2. Navigate to "Dial-up Networking".
3. Right click on the connection and select "Properties".
4. Select the "Server Types" folder.
5. Click on the "TCP/IP Settings" button.
6. The DNS server address is listed next to "Primary DNS".
Method #4 (Windows XP)
1. Open Windows Explorer (the hotkey is Win+E).
2. Right click on "My Network Places" and choose "Properties".
3. A list of Internet connections will appear. Right click on the appropriate one and choose "Status". Usually there is only one Internet connection labeled "Local Area Connection".
4. Click on the "Support" tab.
5. Click on the "Details" button. A window will appear listing the DNS Servers.
Method #5 (Windows Vista)
1. Open the Run dialog (the hotkey is Win+R).
2. Type "cmd" and press Enter. An MSDOS console window will appear.
3. Type "ipconfig /all" and press Enter.
4. The output will contain a listing of the DNS servers.
Most email clients will automatically detect hyperlinks in the text body. Since the message body can contain only text, there is nothing you can do to ensure that all email clients will handle hyperlinks properly. Just make sure the URL has the "http://" prefix for web hyperlinks and the "mailto:" prefix for email hyperlinks.
Following is an example of a page hyperlink and an email hyperlink:
For more information, visit http://www.foo.com
For more information, contact mailto:foo@bar.com
There are several methods to ensure that an interrupted operation can be resumed:
- Use the "Begin with recipient" setting on the "Filtering" branch.
- If using a database, use the "Store successful send date" and "Only send when before" options together (located on the Database/Setup branch). Before resuming the interrupted operation, enter the date and time when the operation started in the "Only send when before" field.
- Use the "Add successfully sent recipients to exclusion list" option on the Exclusions branch. Be sure to delete the exclusion list when the operation is complete.
- Check the "Append successes to file" option on the "Logging" branch. If the operation is interrupted, use this file as an Exclusion File. Be sure to delete the file when the operation is complete.
Use the "Normal" Send Mode. In the Preview Window, click on the "MIME" tab.
Also, the Success Script and Failure Script have a predefined variable, ‑Message‑, that contains the MIME body. Here is an example that saves it to a file:
[[file_save("c:\work\mime.txt", ‑Message‑)]]
Gammadyne Mailer runs on the Windows 98/NT4/2000/ME/XP/2003/Vista platforms. It requires at least a Pentium 100 and 32 MB RAM, but does not have any other particular hardware or software requirements. By using the "Direct Delivery" feature, Gammadyne Mailer does not even require a mail server.
Gammadyne Mailer can import email addresses directly from the System Address Book. First, open the project that will use the email addresses. Make sure a Database, Recipient File, or Recipient List is specified. Then, start the "Add Recipients" tool from the Tools menu. Click the appropriate "Extract From Address Book" button. Finally, click the "OK" button to complete the operation. See the help file for complete details.
To manually export email addresses from the Address Book, use this procedure:
1. Go to the Outlook Express Address Book.
2. From the File menu, choose "Export", then "Other Address Book...".
3. Choose "Text File (Comma Separated Values)".
4. Click the "Export" button.
5. Enter the filename of the text file to which the address book will be exported to.
6. Click the "Next" button. The "CSV Export" window will appear.
7. Check the box next to each field that should be exported. Click "Finish".
8. Use notepad to edit the exported file. On the first line, make sure there are no dashes in the column names.
9. In Gammadyne Mailer, on the "Recipients" branch, check the "Use a file for the list of recipients" box. Below it, enter the name of the export file. Also check the "Simple Merge" box, and choose the column name for the recipient email address (it should be in the drop down list).
A Word document cannot be used for the body of an email. HTML is the only solution.
To convert a Word document to text, first select all text by pressing Ctrl+A, press Ctrl+C to copy it to the clipboard, then go to Gammadyne Mailer and paste the clipboard into the Text Body by pressing Ctrl+V.
It has been observed that Hotmail will treat messages as spam if:
1. The email does not have a valid email address in the "From:" header.
2. The email's "To:" header does not match the recipient's email address.
These limitations are "features" of Hotmail and Gammadyne Mailer has no control over them. There are no workarounds for this problem. These rules must be obeyed in order to send to Hotmail successfully.
Educational institutions may use this hyperlink to purchase licenses for Gammadyne Mailer at a 20% discount: https://www.plimus.com/jsp/buynow.jsp?contractId=1734986
You won't be alone! Gammadyne Mailer is currently used by the following educational institutions:
Arcadia University
Arkansas State University
Avon College
Baylor University
Beaver College
Brown University
Columbia University
Cornell University
Crichton College
Culver-Stockton College
Eastern Michigan University
Elmira College
Florida A&M University
Florida International University
Fordham University
Hawaii Pacific University
Indiana State University
Kansas State University
Kenyon College
Knox College
Lehigh University
Mars Hill College
Maryville College
McGill University
McMaster University
MIT
Mt. San Antonio College
Newcastle College
Ohio University
Oklahoma State University
Pace University
Penn State University
Pensacola Christian College
Pfeiffer University
Presbyterian College
Purdue University
Queens College
Quesnel School District
Ross University
Seoul Digital University
Sheffield University
Skidmore College
Sonoma State University
Spring Hill College
St. Francis College
Stanford University
Stellenbosch University
Strongsville City Schools
Swarthmore College
Temple University
Tufts University
Tulane University
United Nations International School
United States Sports Academy
Universitat Autonoma De Barcelona
University of Alabama at Birmingham
University of Alaska
University of California
University of Colorado at Colorado Springs
University of Dallas
University of Edinburgh
University of Iowa
University of Maryland
University of Michigan
University of New Orleans
University of North Dakota
University of North Texas
University of Queensland
University of Texas at San Antonio
University of Virginia
University of Wisconsin-Milwaukee
West Valley College
Sorry, the forum was cancelled in 2004 due to lack of interest and abuse.
Some licensed Gammadyne Mailer users include:
Agilent Technologies
AT&T
Avis Fleet Services
Boeing
Canadian Worldwide Express Ltd.
CBS
Cisco Systems
Council of Better Business Bureaus
Cottman Transmission
Crabtree & Evelyn
DHL
Dice.com
Discount Home Shopping Club
Dollywood
Ford Motor Co.
France Telecom
Guess? Inc
Harvard Magazine
Home Shopping Network
Intel
Kodak
Lucent Technologies
Lycos
Merrill Lynch
Microsoft
MIT
Mobil-One
Motorola
Multiple Sclerosis Association
Muscular Dystrophy Association
Nortel Networks
Novell
PC Week
Segway
Siemens
Smith & Wesson
Sony
St. Marys Hospital For Children
Texas Department of Health
The Golf Channel
The Futures Channel
The Nielsen Company
Toshiba
UAW
United Way
UPS
U.S. Steel
WebMD
Xerox
Gammadyne Mailer does not have the ability to hide the sender's IP address. The only use for such a feature would be sending spam. Please do not send spam with our software.
Gammadyne Mailer is not vulnerable to viruses. The only conceivable way that it would be is if you intentionally wrote an Incoming Script that saves attachments to the hard drive and then opens them.
Sorry, but Gammadyne Mailer cannot run as a service. A service is not allowed to have a user interface, and this requirement is incompatible with Gammadyne Mailer's design.
Follow this procedure to disable scanning of outgoing email:
- Open Norton Internet Security.
- On the Options menu, click Norton AntiVirus.
- In the Norton AntiVirus Options window under Internet, click Email.
- Under What to scan, uncheck Scan outgoing email (Recommended).
- Click OK.
- On the Options menu click Norton Internet Security.
- On the Email tab, under Email scanning, uncheck Tray icon.
- Under Email scanning, uncheck Progress Indicator.
- Click ok.
- On the Options menu click Norton AntiSpam.
- On the left side of the window, under Email, click Filtering.
- Uncheck Use outgoing email to improve Norton AntiSpam filtering (recommended).
- Click OK.
- On the main Norton screen, disable Privacy Control.
This can occur because some SMTP servers do not obey "Period-Stuffing" (RFC-821 4.5.2). To work around this, change the "Text Body Encoding" setting (on the Text Body/Format branch) to "Quoted‑Printable".
The good news is that there is a method for encoding unicode characters in an email header. The bad news is that Gammadyne Mailer's user interface is limited to 8-bit characters, so it cannot do the conversion automatically. However, it is still possible to create the header with unicode characters encoded as 8-bit ASCII.
An encoded header looks like this:
=?UTF-8?Q?...?=
Where "..." is replaced with the text of the header, encoded first in UTF‑8 and then in Quoted-Printable.
UTF‑8 is described here: http://en.wikipedia.org/wiki/UTF-8
Quoted‑Printable is described here: http://en.wikipedia.org/wiki/Quoted-printable
Gammadyne Mailer does have a tool to convert a text selection into Quoted-Printable. Right click on any editbox, choose Editbox Tools > Convert Encoding > Convert To Quoted-Printable. Encoding to UTF‑8 is much more difficult. The best way that we know of is to compose a message in Outlook Express, send it to yourself as unicode, then copy the raw Subject: header of the message after it arrives. Yes, this is ugly, but it will get the job done.
Note: make sure that the "Headers character set" box (on the Headers branch) is unchecked, since the encoding is already done.


