Send Email using Exchange Server

at work we have a mail server, windows 2000 exchange Server to be specific.  We have PHP 5.1.4 installed and running on IIS.

im wanting to send emails using mail server, but the code ive put together dont seem to work.  when i run my script, i get no errors, but no emails come through to my mailbox either...

mailserver  IP is 192.168.0.2

<?php
require('classes/class.phpmailer.php');

$mail->Sender = 'administrator@companyname.com';

ini_set('sendmail_from',$mail->Sender);

$mail = new PHPMailer();
$mail->AddAddress('sdelaney@companyname.com','mlennon@companyname.com');
$mail->From = 'administrator@companyname.com';
$mail->FromName = 'Pegasus Intranet Gate Keeper';
$mail->Subject = 'Just Testing the SMPT Settings for the Intranet';
$mail->ContentType = 'text/html';
$mail->CharSet = 'iso-8859-1';
$mail->Priority = 1;
$mail->Body = '<p>Hello, This email has been send using the Pegasus Exchange Server (192.168.0.2)</p>';
$mail->Send();
$mail->ClearAddresses();
$mail->SmtpClose();
?>
LVL 16
ellandrdAsked:
Who is Participating?
 
hernst42Connect With a Mentor Commented:
The usage of addAddress is not 100% correct. It looks like you wnat to send the mails to two recipients with
$mail->AddAddress('sdelaney@companyname.com','mlennon@companyname.com');
it should be
$mail->AddAddress('sdelaney@companyname.com');
$mail->AddAddress('mlennon@companyname.com');

But the mails should have come to the first email-adress

also put an
echo $mail->ErrorInfo
to see ih phpmailer has encountred an error
0
 
Mark GilbertConnect With a Mentor Senior Performance EngineerCommented:
As you are using the PHPMailer classes (http://phpmailer.sourceforge.net/), I would recommend that in the class files, look for the authentication section.  I believe it should be contained in the file class.phpmailer.php.  Do a search for var $Host and you should find all the settings that need changed.  For example, point $Host to your exchange server, and put in the username and password necessary to connect to the server.  You may have to setup an account on the exchange server for the purposes of php authentication.

Hope this helps.
0
 
hernst42Connect With a Mentor Commented:
ups forgot to add that you need

$mail->Host = '192.168.0.2';

to delive the mail via that smtp-server
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
ellandrdAuthor Commented:
>>it should be
>>$mail->AddAddress('sdelaney@companyname.com');
>>$mail->AddAddress('mlennon@companyname.com');

Oh! OK, i was shown this way by another expert in the PHP TA...  they where obviously wrong them... damn and ive been shown other people this all along!

OK i'll fix this.

>>also put an
>>echo $mail->ErrorInfo
>>to see ih phpmailer has encountred an error

Ya sorry, ive added these since:

if($mail->Send())
      echo 'Message send!';
else
      echo 'Message not send!';

and all i get is: Message not send! so i'll add what you suggest again...

>>$mail->Host = '192.168.0.2';
>>to delive the mail via that smtp-server

ah - this would be good to have... if i want to send an email... ;-)

>>ingwa

Thank you for that advise - i wasnt sure if to go searching for options in that class file as i didnt want to muck the class up by editing it...but i'll take a look now

ive also checked my PHP.INI file on the exchange server and the setting are correct in terms of SMTP server address and port...

thanks guys, i'll reply in a few mins

Ellandrd
0
 
ellandrdAuthor Commented:
Im not getting:

Language string failed to load: instantiate
Message not send!
0
 
ellandrdAuthor Commented:
ingwa

Ive went into that class and set the username/password of the admin account and set host to 192.168.0.2 and set the from address to administrator@companyname.com...

still no difference...

ellandrd
0
 
Mark GilbertConnect With a Mentor Senior Performance EngineerCommented:
Hmm, you might find this page useful with the above error:

http://www.experts-exchange.com/Web/Web_Languages/PHP/Q_21451918.html

Additionally, here's another link to check:

http://sourceforge.net/mailarchive/message.php?msg_id=6378870
0
 
ellandrdAuthor Commented:
none of these seem to fix my issue.
0
 
ellandrdAuthor Commented:
Ive changed my username to my account login username and now i get this:

Warning: fsockopen() [function.fsockopen]: unable to connect to 192.168.0.2:25 (An established connection was aborted by the software in your host machine. ) in c:\Inetpub\wwwroot\prelease\classes\class.smtp.php on line 105
Language string failed to load: connect_host
0
 
ellandrdAuthor Commented:
ive already looked in the class.smtp.php and i cant make heads or tails of that code or where it might be going wrong..

any other options??
0
 
ellandrdAuthor Commented:
cheers guys i got it working another way by using a remote SMTP server.

thanks for helping!

ellandrd
0
 
Mark GilbertSenior Performance EngineerCommented:
Hi Ellandrd, glad to hear you have the problem resolved.  Thanks for the points and the grade and have a great day.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.