MailPost
Questions & Answers

  

Installation issues

I get "Unexpected Error. Quitting" when trying to install MailPost
I get a "Corrupt Installation Detected" message
The install said I'm missing some files
Can I use Standard CGI under Windows95?
What happens when the demo expires?
Can I use the "Powered With MailPost" button on my site?
How do I get Win-CGI to work under IIS?
How do I test my installation?
I get "Cannot start. Missing key file."
My registration info does not take
I can't remember my registration info
  

Configuration issues

"Unexpected Error -- Quitting" when running MTest or mailit.exe
"Template file not found" with virtual servers
"Template file not found" with Netscape's Enterprise server
MailPost seems to work much slower on my system.
Where do I place my template files?
When I try mailpost.exe, my browser just sits there
What privileges do I need to set?
My web server reports that the CGI returned an invalid set of headers.
I get "Document contains no data" or "the server returned an invalid or unrecognized response" when using the success variable
I get category 500 error messages from the server
I get a 405 error message or responds to check the MIME mappings
IIS v4 can't find my Template File
Email is never sent
  

Feature issues

How do I test my template without sending email?
How do I send the email to multiple recipients?
How can I put the current Date & Time in my email message?
How can I set the default value of a form variable?
How do I use CGI environment variables?
How can I redirect MailPost's output to a different frame?
How do I send HTML email?
Email not sent when using the SUCCESS variable
  

Error messages

MailPost error messages

  
  
I get "Unexpected Error. Quitting" when trying to install MailPost
Microsoft has once again decided to release multiple copies of the same DLLs. This is usually caused by the improper OLEPRO32.DLL and OLEAUT32.DLL. Microsoft has a Knowledge Base article about it (Q162518), and we also have a copy of it.
Download OLEPRO32.DLL. (Remember to make a backup copy before installing)
  
"Corrupt Installation Detected" message when running the installer
This can be caused for a few reasons:
  1. The Windows directory is full or is write-protected.
  2. The user accessed the installation executable via a UNC pathname. (you need to install MailPost on the machine locally, not over a network)
  3. Under NT4, on a 16 bit install, the installation executable or the directory that it is being run from, contains an accented (international) character within the first eight characters.
  4. The installation executable is not the same size as it was when it was compiled. This can happen from errors during transport.
  
The install said I'm missing some files
MailPost needs five files to be previously installed on your PC.

If you need VB40032.DLL, you can get the VB4 runtime library from here or from us.
If you need MFCOLEUI.DLL, get it here.
If you don't have one or more of the last 3 files, you can FTP the full set from: http://www.mabry.com/mfc40rt.exe
Note: All of these files go in your Windows\System or WinNT\System32 directory.
  
Can I use Standard CGI under Windows95?
Our Standard CGI implementation does not work with some webservers under Windows95. If you are running Windows95, MailPost's setup program will only install the Win-CGI version of MailPost. However, if you'd like to try the Standard CGI version with your webserver, here's what you can do:
As stated previously, the Standard CGI version of MailPost may not work correctly with certain webservers under Windows95. We have tested this option with Microsoft's Personal Web Server under Windows95, and MailPost did work correctly using the Standard CGI version.
  
What happens when the demo expires?
Since MailPost is a CGI, you won't get any splash screens on your server telling you MailPost has expired. So what does happen? MailPost won't deliver any email, and it will return a message to the browser that the demo has expired and the user should contact the administrator.
  
Can I use the "Powered With MailPost" button on my site?
Please do. We'd appreciate it if you serve the image from your website (copy the image to your computer) and set its' anchor tag to http://www.mcenter.com/mailpost/
or Powered with MailPost
 
How do I get Win-CGI to work under IIS?
We suggest you run MailPost as a Standard CGI under IIS (NT only).
IIS does not natively support Win-CGI. To get IIS to recognize Win-CGI, Microsoft has a Knowledge Base article that describes this procedure.
Here's a quick and dirty list on how to run your WinCGI apps from IIS:
  1. You can get the is2wcgi.dll DLL at http://www.genusa.com/iis/is2wcgi.zip.
  2. Start Control Panel. Double click on "Services". Locate the WWW Publishing service and click the startup button. Check the box that allows the service to interact with the screen.
  3. Copy is2wcgi.dll to your /inetsrv/scripts directory . You need one copy of is2wcgi.dll for each EXE program you plan on running as a Win-CGI application.
  4. Rename is2wcgi.dll to be the same name as your WinCGI exe EXCEPT for the .dll extension. For MailPost, rename the is2wcgi.dll to mailpost.dll
  5. Call the WinCGI like this www.yoursite.com/scripts/mailpost.dll
  
How do I test my installation?
Type a URL like this in your browser:
http://www.mydomain.com/cgi-location/mailpost.exe/
cgi-location is where your Standard or Win-CGI files are located

If MailPost was installed correctly, you should receive a response similar to:
MailPost Error
No template file specified
  
I get "Cannot start. Missing key file."
Run the keyset.exe program which is in the mailpost directory. This program should be run on the server itself (not a networked PC) and you need to have system administrator privileges.
  
My registration info does not take
After running the keyset program and entering my information, MailPost still reports a demo version. When the keyset program is run again, the registration key information is not displayed -- keyset shows DEMO.
 
The keyset program needs to be run with the user logged in as Administrator.
  
I can't remember my registration information
If you're moving MailPost to a new server but can't find your registration keys, simply double-click the keyset.exe icon (located in the mailpost directory). This will display your registration information.
 
If your server has been wiped clean, or MailPost has been removed, you will need to contact us.
  
How do I test my template without sending email?
You can test what your output of a template file will look like by including the hidden variable *nosend* in your HTML form.
*nosend* causes MailPost to process the form as usual, except that it will not send the email message.
<INPUT TYPE="HIDDEN" NAME="*nosend*" VALUE="">
  
"Unexpected Error -- Quitting" when running MTest or mailit.exe
This is more than likely caused by a bad Visual Basic runtime library DLL, most likely OLEAUT32.DLL . The version should be 2.20.4054 or greater. Windows95 shipped with a bad version of this DLL. You can correct this by installing Internet Explorer or MS Office 97. If you don't want to do this, please contact us and we'll get a copy to you.
  
"Template file not found" with virtual servers
MailPost expects all template files to be located in the webserver's HTML document directory structure. If your virtual servers are mapped to paths outside of the document path, MailPost will not be able to find the template file.
One way to correct this is to place all your virtual sites back into the webserver's main document path.
Another way, although untested, is to create a dummy directory for the virtual domain within the webserver's document root structure. Then place the template files in this directory.
  
I get "Template file not found" when using MailPost on Netscape's Enterprise server
The "doc-root" entry in the mailpost.ini file (located in your server's Standard CGI or Win-CGI directory) is used to handle problems with some servers that do not correctly report their CGI_PhysicalPath. This is a known problem with Netscape's Enterprise Server v2. If your server does not report CGI_PhysicalPath correctly, set "doc-root" equal to your webserver's document root. For example, WebSite's document root is: C:\website\htdocs
Important: If your webserver correctly reports CGI_PhysicalPath, leave this value blank.
  
MailPost seems to work much slower on my webserver.
If you're running Windows95 and using a browser on the same system your webserver is running on, you may experience longer delays than usual. For instance, on our webserver, if we load up Netscape and submit a form, MailPost takes about 8 seconds to return a status page. If we use another machine to submit a form to our webserver, MailPost takes about 3 seconds. This behavior was not encountered under NT 4.
  
Where do I place my template files?
Your template files must reside within the webserver's document root directory structure. For example, O'Reilly's WebSite uses the document root of /htdocs . So, all template files must reside within the /htdocs directory or any of /htdocs' sub-directories.
Suggestion: We normally place our template files within the directory of the html file they are used with. If you're going to have a lot of template files for a "site", you may want to create a sub-directory for your template files to reside in.
  
How can I put the current Date & Time in my email message?
If your email server doesn't automatically insert the time and date into email messages it processes, you can put the time & date into the message by inserting a special variable into the template file.
Insert the *date-time* variable in the body of your template file like this [*date-time*]. Your email message will then have the date & time in it. Note that this variable is only used in the body of the template file, not the header section.
  
When I try mailpost.exe, my browser just sits there
This can be caused by quite a few things. One thing to look for is that you are using the correct CGI version of MailPost. If you're running IIS, be sure to use the Standard CGI version.
To verify which CGI version you're running, check the filesize of the mailpost.exe file in your CGI directory. The Standard CGI version is larger than 100KB. The Win-CGI version is less than 100KB.
Another problem that is prevelant when running IIS under NT is that you could have permission problems. This can be either with the directories and files under NT and IIS, or with the permissions given to the users under NT and IIS.
This problem can also sometimes be attributed to incorrect versions of the pre-installed DLL files MailPost requires.
  
  
IIS users: You may need to add a new key to your registry.
  
  
What privileges do I need to set?
MailPost has to have access to the following directories:
mailpost and all of its subdirectories -- READ, WRITE, EXECUTE
mailpost\mailit\malpst.exe -- READ, WRITE, EXECUTE
Your webserver's CGI directory -- READ, EXECUTE
Your OS's windows\system or WinNT\System32 directory -- READ
windows\system or WinNT\System32\msmws002.dll -- FULL
windows\system or WinNT\System32\msmole32.dll -- FULL
  
A note about IIS and permissions. IIS uses the user "IUSR_account" as the default user for all of IIS' anonymous traffic. Access rights are granted to this user from two sources -- from IIS and from NT. Both are based on NT's NTFS and ACLs. The most restrictive access rights are used. That is, if the IIS user has full rights under IIS, but the user has no access under NT, then the user will have no access. By default, NT grants generous access rights on directories, whereas IIS is very restrictive. When you grant READ access under NT on a directory, you actually get [RX]. In IIS you can select "Read" only and "Execute" only access. When both are enabled, it gives [RX] access. The easiest way to allow MailPost to work is to enable Read and Execute access in IIS, and to restrict rights to the IIS user directly in NT. As MailPost needs to create and write files in its support directories (the mailpost directory tree), the IIS user needs to have read/write access to those directories.
  
IMPORTANT: The IUSR_machinename account needs to have read/execute access to the WINNT and WINNT/System32 directories.
  
If you think you are dealing with an iUSR_machinename permissions issue, one quick check is to temporarily add the "Administrators" group to the user. If MailPost starts working then you know there's a permissions issue with the iUSR account somewhere (don't forget to remove the "Administrators" group from the iUSR account after testing).
  
My web server reports that the CGI returned an invalid set of headers.
This can be caused by a number of different things. Here's a list of things to check, in no particular order:
  
IIS v4 users. You may need to update your VB4 support files. You can get the file from ftp://ftp.mcenter.com/pub/mailpost/vb4run.zip
  
I get "Document contains no data" or "the server returned an invalid or unrecognized response" when using the success variable
This is more than likely caused by a problem with your webserver (particularly MS' Personal Web Server) not being able to process the Location: header.
To handle this problem, edit the mailpost.ini (located in your webserver's CGI directory) file's [serverconfig] section. Change the Use_MetaRefresh=no entry to Use_MetaRefresh=yes
  
I get category 500 error messages from the server
  
I get a 405 error message or responds to check the MIME mappings
This is a webserver configuration error. You're trying to run MailPost in a directory that does not have EXECUTE permissions. Check the settings for the CGI directory. Consult the webserver's documentation for additional information.
  
IIS v4 can't find my Template File.
There is a configuration setting that must be set for IIS v4 to properly report the CGI environment variables PATH_INFO and PATH_TRANSLATED. There is a Microsoft Knowledge Base article (Q184320) concerning this. MetaEdit.exe is available in the IIS 4 Resource Kit (book & CDROM), which is available at many bookstores and amazon.com.
  
Email is never sent.
MailPost works OK and I get the message that the email has been queued for delivery, but the email is never sent.
 
Start MailIt (located in the mailpost\mailit subdirectory) in debug mode by adding two command line parameters to it:
 
mailit.exe 12345678.ini -d
 
where 12345678.ini is a name of one of the ini/txt file pairs in the mailpost\mailit\emails subdirectory. When MailIt comes up, press the 'Send' button and watch the middle text box for clues as to what's going wrong. If you can't figure it out, copy the middle text box and email it to us and we'll try to help.
  
How do I send the email to multiple recipients?
You can do this a couple of ways. You can set multiple recipients in the To: header of the template file using commas, like:

To: me@here.com, you@here.com
You can also use commas to place multiple recipients in the CC: and BCC: headers of the template file.
  
Note: If you'd like to place the email address and name of the sender in the header of the message, you need to insert the Reply-To: header in your template file. This must take the form of:

Reply-To: <me@here.com> My Name

The email address is in angle brackets and the name is not.

You should only place valid email addresses in the To: and From: headers. Do not insert any aditional information, like "<My Name>", and do not place the email address within angle brackets such as "<me@here.com>"
  
How can I set the default value of a form variable?
If a value is not passed from your form to MailPost (as in the case of an unchecked checkbox) MailPost will not substitute anything for the variable in the email message, thus leaving the variable's placeholder ([variable name]) in the message.
To have something placed in the variable's placeholder in situations like this, you can insert a hidden variable with the same name of the variable you want to give a default value, except add the .dflt extension to the hidden variable's name.
<INPUT TYPE="HIDDEN" NAME="Order.dflt" VALUE="no">
<INPUT TYPE="CHECKBOX" NAME="Order" VALUE="Yes">
This will cause "no" to appear in the email message wherever the [Order] placeholder is located in the template file if the "Order" checkbox is left unchecked..
  
How do I use CGI environment variables?
In order to use CGI environment variables, you must enable this feature. MailPost ships with this fetaure disabled. To enable CGI environment variable usage, edit the mailpost.ini file, which is in your webserver's CGI directory (not the mailpost.ini file in the mailpost directory). under the [serverconfig] section, set CGI_Env=enable
MailPost supports the following CGI environment variables:
SERVER_SOFTWARE
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
GATEWAY_INTERFACE
REQUEST_METHOD
PATH_INFO
PATH_TRANSLATED
SCRIPT_NAME
QUERY_STRING
HTTP_REFERER
HTTP_USER_AGENT
REMOTE_HOST
REMOTE_ADDR
REMOTE_USER
AUTH_TYPE
CONTENT_TYPE
CONTENT_LENGTH
  
How do I redirect MailPost's output to a different frame?
You can control the output of MailPost by supplying your frame's target in the form's action, like:
<FORM METHOD=POST ACTION="http://www.my_domain.com/cgi/mailpost.exe/template.txt" target="frame_id">
  
How do I send HTML email?
You have to include another email header so the email client knows its an html formatted email:
Content-Type: text/html; charset=us-ascii
  
Email not sent when using SUCCESS variable
This situation seems to be dependent on OS and webserver. Instead of specifying the success page as an http: resource, specify it as a local file:
INPUT TYPE="hidden" NAME="success" VALUE="http://www.myserver.com/success.html"
INPUT TYPE="hidden" NAME="success" VALUE="success.html"
  

MailPost Errors

DOIT+xxx^MCPSTMAL:::5:14:
Decription: Device access not allowed
This is usually caused by not having the correct privileges set for the Mailpost directory. Make sure privileges are set correctly (full access) for the Mailpost directory and its sub-directories. You should also check your form's action and make sure that it is correct.
  
The M server is not responding
This means the M automation server (OLE) was not started. We're still trying to find out why some users under NT/IIS receive this message. Things to try to resolve this problem are:


Check the values in the files mailpost.ini (in your webserver's CGI directory) and mailpost.mco in the mailpost\mailit subdirectory. These values should be similar to:
mailpost.ini
startup-directory=C:\mailpost\MAILIT\MAILIT.EXE
mailpost.mco
SERVER=C:\mailpost\MAILIT\malpst.exe

Make sure these two entries point to the correct drive and directories.

Are you running NT? Is your webserver on a different drive than MailPost? Is NT on one drive, but your webserver & MailPost are on a different drive?
If so, you may need to grant System & Network (and perhaps Shared Permissions) to your webserver's CGI directory.
  
Error 52
Decription: Bad filename or number
This too can be caused by not having the correct privileges set for the Mailpost directory. Make sure privileges are set correctly (full access) for the Mailpost directory and its sub-directories.
Something else than can generate this error is if you are trying to run the Win-CGI version of MailPost with a webserver that doesn't support Win-CGI, such as IIS or MS Personal Web Server. Your webserver will have to be configured to run Win-CGI applications, or you can try using MailPost's Standard CGI version with Windows95.
To verify which CGI version you're running, check the filesize of the mailpost.exe file in your CGI directory. The Standard CGI version is larger than 100KB. The Win-CGI version is less than 100KB. If you've installed the wrong CGI version (Win-CGI instead of Standard CGI) you can correct this without reinstalling MailPost.
  
I get "Cannot start. Missing key file."
Run the keyset.exe program which is in the mailpost directory
  
When I run MTest.exe I get a "Runtime error 438"
This is more than likely caused by a corrupt automation server installation on your system. Microsoft has a Knowledge Base article (Q164529)about this issue, as well as a setup file you can download to restore automation services to their proper version numbers. There is a version for NT 4 and NT 3.5x.
If that doesn't help, uninstall MailPost using the Control Panel | Add/Remove Programs utility. After that, delete the malpst.exe file located in the mailpost\mailit subdirectory. If you can't, you probably have a copy of it in memory. You'll need to delete it before you can delete the file. Next, delte the entire mailpost directory. Then reinstall MailPost.
  
I get a VB error 76 - Path not found
Make sure that execute permissions are granted to your CGI directory and that the mailpost.exe has execute rights.
  
When running MTest, I get one of the following OLE errors:
Runtime error '-2147220984 (80040208) 
OLE automation error
Either NetaccessDel or NetAccess Add returned an error code
Try installing the Microsoft OLE update. If that doesn't help, grab the current version of MailPost and reinstall it. Before installing MailPost, delete the malpst.exe file in the mailpost\mailit subdirectory. If you can't delete it, it means there's a copy loaded in memory. The copy in memory will need to be deleted before the file can be be replaced.
MailPost v5.00sv Post Results
Error 
A MailPost error occurred. 
MailPost Internal Error 
Can't find email file XX.txt 
Mail message cannot be sent

If you get the message above after you install the mpas-v2.zip file, you'll need to download and install the current release of MailPost, and then reapply the mpas-v2.zip patch.

Error number -2147220986  |  OLE Automation error
Unable to set a discretionary ACL into a security descriptor
Could not setup M server
Solution #1:   This solution was submitted by a user.   This may be a problem with your IUSR_Machinename (If your machine is called MACHINE1 the user is called IUSR_MACHINE1). Go to the user manager and delete this user. Now create this user again and give them a new password. Make sure you go to the MMC and change this user's password in the directory security settings of the www-service also.
 
Solution #2:   This solution was submitted by a user.   Unless the IIS properties for accessing the cgi-bin directory is set to allow ANONYMOUS access to that directory (regardless of the rest of the site) the error occurs. You need to check that directory explicitly in IIS (and give it anonymous access permissions) since as a child of the site it takes on the parent access permissions, set in my case to NT security NOT anonymous access. As soon as anonymous access to the cgi-bin directory is enabled the error goes & all works OK.
 
A reboot of the server may resolve this error.
 
There's an MS utility named dcomcnfg.exe. Use this to set your base permissions for OLE objects to minimum for testing. On the Default Security tab, try adjusting the default permission levels for all three levels (access, launch, configuration). Try adding the IUSR_MachineName user (Allow Access) to the Default Access Permissions. As a quick test, select the lowest level possible. Also check the permissions you've granted.
Default Launch Permissions
Default Configuration Permissions

MailPost Homepage | Help Index

MailPost