Changes

Jump to navigation Jump to search

Installing Fake Sendmail for Windows

1,363 bytes added, 01:06, 24 November 2010
no edit summary
<=[http://oleqatyqi.co.cc This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page]=&lt;span id="&quot;top"><&quot;&gt;&lt;/span>&gt;<&lt;div style="&quot;padding:0;margin:0; border-bottom:3px inset #000000">&quot;&gt;
{|
| [[Image:uc_small_logo.gif | MPG UniCenter]] ||
[[Installing Fake Sendmail for Windows | Installing Fake Sendmail for Windows]]
|}
<&lt;/div>&gt;{| cellpadding="&quot;4"&quot;
|
__TOC__
PHP’s mail function is extremely easy to use. On the [[PHP mail function | previous page (Solution 1)]] I have shown what modification are required to the '''php.ini''' file to get it to work with your host's SMTP server. However it '''fails''' if your host requires '''authentication'''. '''Fake sendmail for Windows''' to the rescue.
Unix users take all this stuff for granted; it's there and they just send emails. When they try to set '''sendmail "&quot;-t"&quot;''' on Windows, it's not there, so what do you think they do? Yep, write something useful, like “fake sendmail” by '''Byron Jones''', and give it to the community. The latest software “fake sendmail for windows” can be found here '''[http://glob.com.au/sendmail/ glob.com.au]'''
== Background ==
The above really is to dispel some misconceptions about the php.ini file:
{|cellpadding="&quot;8"&quot;|-style="&quot;background:#e4e4e4"&quot;
!php.ini section [mail function]
!Comments
|--style="&quot;background:#f0f0f0"&quot;
|
[mail function]<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; For Win32 only.<&lt;br>&gt;SMTP = '''localhost'''<&lt;br>&gt;
smtp_port = '''25'''
<&lt;nowiki>&gt;;&lt;</nowiki> &gt; For Win32 only.<&lt;br>&gt;
sendmail_from = me@localhost.com
<&lt;nowiki>&gt;;&lt;</nowiki>&gt;For&amp;nbsp;Unix&amp;nbsp;only. You may supply arguments as well (default: ;"&quot;sendmail -t -i"&quot;).<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki>&gt;'''''sendmail_path = "&quot;/usr/bin/sendmail.exe -t'''''"&quot;
<&lt;nowiki>&gt;;&lt;</nowiki>&gt;&amp;nbsp;Force&amp;nbsp;the&amp;nbsp;addition&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;parameters&amp;nbsp;to&amp;nbsp;be&amp;nbsp;passed&amp;nbsp;as&amp;nbsp;extra&amp;nbsp;parameters<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; to the sendmail binary. These parameters will always replace the value of<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; the 5th parameter to mail(), even in safe mode.<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; mail.force_extra_paramaters =
|
These are defaults settings for php.ini. At a first glance you would think there are two separate sections, one specific to Windows and the other for Unix, in reality '''they are two options''' that you can use on Windows.
'''''[[#top | Top]]'''''
== Pre-Installation ==
{|cellpadding="&quot;4" &quot; cellspacing="&quot;4" &quot; width="&quot;80%"&quot;
|-
|valign="&quot;top" &quot; style="&quot;background:#f3f3f3"&quot;|{|cellpadding="&quot;2" &quot; style="&quot;background:#f3f3f3"&quot;
|-
|valign="&quot;top"&quot;|&amp;nbsp;1&amp;nbsp;||'''A)''' Download the latest version of '''[http://glob.com.au/sendmail/ Fake sendmail for Windows]''' the current version is (23 Apr 24, 2008) Save the file to a temporary folder for example '''c:\sendmail_temp'''.
|-
|valign="&quot;top"&quot;|&amp;nbsp;2||'''B)''' Extract the file to the current folder ('''right click''' on '''sendmail.zi'''p and select Extract All... click '''Next''' and '''Next''' again) this creates a new folder named '''sendmail'''.
|-
|valign="&quot;top"&quot;|&amp;nbsp;3||'''C)''' Copy the folder '''sendmail''' and all its content from c:\'''sendmail_temp''' to the UniServer folder *Uniform Server\udrive\usr\'''local'''
|-
|valign="&quot;top"&quot;|&amp;nbsp;4||'''D)''' If you wish to save space delete the '''source''' folder
|-
|valign="&quot;top"&quot;|&amp;nbsp;||<&lt;br>&gt;
'''''Note 1'':''' Contents of folder *Uniform Server\udrive\usr\local\sendmail
*license.txt
With '''Fake Sendmail''' in place we need to edit the php.ini file so PHP’s mail function can use it.
Open the file '''php.ini''' located in folder '''*\Uniform Server\udrive\usr\local\php''' and search for this section <&lt;nowiki>&gt;[<&lt;/nowiki>&gt;'''mail function'''<&lt;nowiki>&gt;]<&lt;/nowiki> &gt; (starts around line 612)
{|cellpadding="&quot;8"&quot;|-style="&quot;background:#e4e4e4"&quot;
!php.ini section [mail function]
!Comments
|--style="&quot;background:#f0f0f0"&quot;
|
[mail function]<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; For Win32 only.<&lt;br>&gt;'''<&lt;nowiki>&gt;;&lt;</nowiki>&gt;SMTP = localhost'''<&lt;br>&gt;'''<&lt;nowiki>&gt;;&lt;</nowiki>&gt;smtp_port = 25'''
<&lt;nowiki>&gt;;&lt;</nowiki> &gt; For Win32 only.<&lt;br>&gt;
''';sendmail_from = me@localhost.com'''
<&lt;nowiki>&gt;;&lt;</nowiki>&gt;For&amp;nbsp;Unix&amp;nbsp;only. You may supply arguments as well (default: ;"&quot;sendmail -t -i"&quot;).<&lt;br>&gt;'''sendmail_path = "&quot;/usr/local/sendmail/sendmail.exe -t"&quot;'''
<&lt;nowiki>&gt;;&lt;</nowiki>&gt;&amp;nbsp;Force&amp;nbsp;the&amp;nbsp;addition&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;parameters&amp;nbsp;to&amp;nbsp;be&amp;nbsp;passed&amp;nbsp;as&amp;nbsp;extra&amp;nbsp;parameters<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; to the sendmail binary. These parameters will always replace the value of<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; the 5th parameter to mail(), even in safe mode.<&lt;br>&gt;<&lt;nowiki>&gt;;&lt;</nowiki> &gt; mail.force_extra_paramaters =|valign="&quot;top"&quot;|# '''Comment out''' the Win32 lines as shown by adding a "&quot;''';'''" &quot; to the beginning of each line.<&lt;br><&gt;&lt;br>&gt;# '''Enable''' the sendmail_path by removing the "&quot;''';'''" &quot; at the begining of the line.<&lt;br><&gt;&lt;br>&gt;# Replace the path:<&lt;br>&gt;'''/usr/bin/sendmail.exe -t'''<&lt;br>&gt;&amp;nbsp;&amp;nbsp;'''''with'''''<&lt;br>&gt;'''/usr/local/sendmail/sendmail.exe''' as shown.
|}
Below I have listed three possible configurations. The first is really a reference; it does not use authentication and produces a similar result to the solution outlined on the previous page. To make it easier to read I have removed all comments.
{|cellpadding="&quot;4"&quot;|-style="&quot;background:#e4e4e4"&quot;
!Similar to previous page
!SMTP + Authentication
!SMTP + POP before Authentication
|-style="&quot;background:#f0f0f0"&quot;
|[sendmail]||[sendmail]||[sendmail]
|-style="&quot;background:#f0f0f0"&quot;
|smtp_server=smtp.yourdomain.com||smtp_server=smtp.yourdomain.com||smtp_server=smtp.yourdomain.com
|-style="&quot;background:#f0f0f0"&quot;
|smtp_port=25||smtp_port=25||smtp_port=25
|-style="&quot;background:#f0f0f0"&quot;
|default_domain=yourdomain.com||default_domain=yourdomain.com||default_domain=yourdomain.com
|-style="&quot;background:#f0f0f0"&quot;
|;error_logfile=error.log||;error_logfile=error.log||;error_logfile=error.log
|-style="&quot;background:#f0f0f0"&quot;
|;debug_logfile=debug.log||;debug_logfile=debug.log||;debug_logfile=debug.log
|-style="&quot;background:#f0f0f0"&quot;
|;auth_username=||auth_username=you@yourdomain.com||;auth_username=
|-style="&quot;background:#f0f0f0"&quot;
|;auth_password=||auth_password=mysecretpassword||;auth_password=
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_server=||;pop3_server=||pop3_server=pop.yourdomain.com
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_username=||;pop3_username=||pop3_username=you@yourdomain.com
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_password= ||;pop3_password=||pop3_password=mysecretpassword
|-style="&quot;background:#f0f0f0"&quot;
|force_sender=you@yourdomain.com||force_sender=you@yourdomain.com||force_sender=you@yourdomain.com
|-style="&quot;background:#f0f0f0"&quot;
|;hostname=||;hostname=||;hostname=
|}
For example if this was the information provide by my ISP:
{|style="&quot;background:#000000" &quot; cellspacing="&quot;1" &quot; cellpadding="&quot;4"&quot;|-style="&quot;background:#f0f0f0"&quot;
|SMTP Server||'''smtp.xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|POP Server||'''pop.xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|Email address||'''fred123@xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|Account password||'''me456'''
|}
The above table would look like this:
{|cellpadding="&quot;4"&quot;|-style="&quot;background:#e4e4e4"&quot;
!Similar to previous page
!SMTP + Authentication
!SMTP + POP before Authentication
|-style="&quot;background:#f0f0f0"&quot;
|[sendmail]||[sendmail]||[sendmail]
|-style="&quot;background:#f0f0f0"&quot;
|smtp_server='''smtp.xip.com'''||smtp_server='''smtp.xip.com'''||smtp_server='''smtp.xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|smtp_port=25||smtp_port=25||smtp_port=25
|-style="&quot;background:#f0f0f0"&quot;
|default_domain='''xip.com'''||default_domain='''xip.com'''||default_domain='''xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|;error_logfile=error.log||;error_logfile=error.log||;error_logfile=error.log
|-style="&quot;background:#f0f0f0"&quot;
|;debug_logfile=debug.log||;debug_logfile=debug.log||;debug_logfile=debug.log
|-style="&quot;background:#f0f0f0"&quot;
|;auth_username=||auth_username='''fred123@xip.com'''||;auth_username=
|-style="&quot;background:#f0f0f0"&quot;
|;auth_password=||auth_password='''me456'''||;auth_password=
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_server=||;pop3_server=||pop3_server='''pop.xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_username=||;pop3_username=||pop3_username=fred123@xip.com
|-style="&quot;background:#f0f0f0"&quot;
|;pop3_password= ||;pop3_password=||pop3_password=me456
|-style="&quot;background:#f0f0f0"&quot;
|force_sender='''fred123@xip.com'''||force_sender='''fred123@xip.com'''||force_sender='''fred123@xip.com'''
|-style="&quot;background:#f0f0f0"&quot;
|;hostname=||;hostname=||;hostname=
|}
'''''Test1'':'''
Start Uniform Server and type the following into your browser address bar: '''<&lt;nowiki>&gt;http://localhost/mail.html<&lt;/nowiki>&gt;'''
There is no need to enter any data into the text boxes. Just click on '''Send''' and you will receive this message:
To check whether your ISP relays to other SMTP servers, send an email to a friend or to another account you own. Make sure your ISP hosts neither.
Run the test page (<&lt;nowiki>&gt;http://localhost/mail.html<&lt;/nowiki>&gt;). This time you will need to fill in the text boxes.
Confirm that the emails are received. That completes the tests.
322

edits

Navigation menu