1

So I've tried a couple of things but it I'm just unable to send a mail from php on my XAMPP server. I'm using OSX Yosemite and in terminal I can mail to the local mail client which I've setup and also to my external mail. I even switched to Netbeans IDE and tried the code in it's built in php server which worked but on my xampp server it just doesn't send. I've been trying to use PHPMailer send an email but it doesn't seem to work everything seems fine.

    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 3; // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true; // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = "HOST_ADDRESS";
    $mail->Port = 465; // or 587
    $mail->IsHTML(true);
    $mail->Username = "HOST_USER";
    $mail->Password = "HOST_PASSWORD";
    $mail->SetFrom("donotreply@webgroup.com", "Account Confirmation");
    $mail->Subject = $subject;
    $mail->Body = $email_body;
    $mail->AddAddress($address);

Whenever I send a mail I get this error:

SMTP Failed to connect to server(0)

Any help? Have been trying to figure this out for hours now

Daniel
  • 598
  • 1
  • 6
  • 23
  • tried with mail() directly? i think you need to setup mail settings on localhost in php.ini – Rakesh Sharma Dec 25 '14 at 10:42
  • mail works in terminal but not in xampp – Daniel Dec 25 '14 at 10:43
  • [Update your PHPMailer](https://github.com/PHPMailer/PHPMailer), base your code on [something up to date](https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps). Don't use the deprecated ssl on 465, use tls on 587. And [read the docs](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro Dec 26 '14 at 09:58

2 Answers2

0

Configure SMTP Server first to send the email. SMTP configuration is necessary to work the mail function.

http://www.tutorialspoint.com/php/php_sending_emails.htm

Iram
  • 278
  • 2
  • 6
  • Already did that. I configured SMTP and restarted my computer about twice already – Daniel Dec 25 '14 at 10:50
  • you are using Windows ? – Iram Dec 25 '14 at 10:51
  • 1
    No I'm using a Mac OSX Yosemite – Daniel Dec 25 '14 at 10:52
  • If you are a windows user and trying to send the email from your localhost then you need to set the sendmail.exe. Follow the link http://yogeshchaugule.com/blog/2013/configure-sendmail-wamp – Iram Dec 25 '14 at 10:53
  • For mac users configure sendmail. You cant send the email form localhost without this. Follow the link http://computernetworkingnotes.com/network-administrations/sendmail-server.html – Iram Dec 25 '14 at 10:55
  • use gmail account for testing it. Also check if openssl is working ot not. – Iram Dec 25 '14 at 11:40
  • Almost all of the above is wrong. If you're sending with SMTP, you do not need to configure a local mail server at all - that's the main reason that PHPMailer includes this functionality. OS X includes postfix, so if you do need a local mail server, just enable that - DO NOT do what Iram suggested. – Synchro Dec 26 '14 at 09:54
0

See my sample in Can't get PHPMailer working

Your $mail->Host = "HOST_ADDRESS"; needs to be specified, or just use "smtp"

Community
  • 1
  • 1
Louis
  • 2,854
  • 2
  • 19
  • 24