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?
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:
- The Windows directory is full or is write-protected.
- The user accessed the installation executable via a UNC pathname.
(you need to install MailPost on the machine locally, not over a network)
- 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.
- 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.
-
- VB40032.DLL -- v4.0.2924 722,192 bytes
- MFCOLEUI.DLL -- v2.01 146,976 bytes
NT- v.2.01 146,976B
- MSVCRT40.DLL -- Win95: v4.10.6038 326,656 bytes
NT- v4.20 - OS use only. 65,024B
- OLEPRO32.DLL -- v4.1.6038 74,000 bytes NT-
v4.1.6038 74,000B
- MFC40.DLL -- v4.1.6139 924,432 bytes NT-
v4.1.6139 924,432B
- 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:
-
- If you haven't already, run MailPost's setup program and install
the Win-CGI version to your Standard CGI directory.
- In the mailpost directory, there is a file named mp-cgi.exe. Copy
this file to your webserver's Standard CGI directory.
- Copy the mailpost.ini file from your webserver's Windows-CGI
directory to your webserver's Standard CGI directory.
- Rename the mp-cgi.exe file that is now in your webserver's
Standard CGI directory to mailpost.exe .
- 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

- 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:
- You can get the is2wcgi.dll DLL at
http://www.genusa.com/iis/is2wcgi.zip.
- 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.
- 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.
- 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
- 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:
-
- Your webserver's CGI directory has read & execute permissions
granted by your webserver.
- The mailpost directory and all of its subdirectories have full
permissions granted by your OS.
- If you are trying to use the Win-CGI version, your webserver may
not correctly process Win-CGI (FastTrack v2 for instance). Try running the
Standard version of MailPost. Windows95 users, look at "Can I use Standard CGI under Windows95?" for information
about using Standard CGI.
- Check the file size of all versions of the DLL named MSVCRT40.DLL
on your system. MailPost requires the version that is approximately 330KB in
size, not the version that is 70KB in size. To get the correct version, see "The install said I'm missing some files."
- Check that you have given the webserver user (usually the
IUSR_account user in IIS) READ permissions to the OS' system DLLs. If the
problem persists, enable security auditing and then check for "access denied"
messages.
-
- 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
-
- If you're running IIS v2, you may need to upgrade to
IIS v3
- Check your permissions for the CGI directory under the webserver
and the OS
- Make sure you are calling the CGI correctly
- When you installed MailPost, did you select a destination
directory inside your webserver's directory tree? If so, reinstall MailPost,
this time use a destination directory outside of your webserver's
directories.
- 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
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:
-
- Extract the malpst.exe file from your MailPost setup.exe file and
copy it over the malpst.exe file which is in the mailpost\mailiti subdirectory.
Then mark the malpst.exe file as Read Only under your OS.
- Reinstall MailPost
Note: If
you're running an older version of MailPost, you should download the most
recent version of MailPost from our website and then install it.
- Shutdown your machine and restart.
- Run the MTest.exe program in the mailpost\mailit subdirectory (If
you don't have it, you should download the current version of MailPost). If you
get the expected results, copy the MTest.exe program to your webserver's CGI
directory and run it from there. If you get the expected results, you probably
have a permissions problem with your webserver or your OS.
- Microsoft has also released a new version of MSVCRT40.DLL.
MailPost runs with the version that is 319KB in size. If the M server still
doesn't respond, get the files mentioned in the The install
said I'm missing some files section above.
There's more
information about this from Microsoft in the following KB articles:
A Required .DLL
file, MSVCRT.DLL, Was Not Found
Download
Msvcrt.dll System Files
Required .dll File
Msvcirt.dll is Missing
Since Microsoft has decided to release two
versions of these DLLs, it may be necessary to place MailPost in a subdirectory
off your main CGI directory, and then copy these needed DLLs into that
subdirectory.
- 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.


MailPost Homepage
| Help Index
