Page 1 of 1

[Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 18. June 2013 20:30
by CraftyMc
Hi, I am trying to set up the mail function for testing purposes however when I execute the simple php script it comes up saying sent but nothing is ever received in my mailbox?


Here is the php script,

Code: Select all
<?php
$subject="Test mail";
$to="lukeday1990@hotmail.co.uk";
$body="This is a test mail";
if (mail($to,$subject,$body))
echo "Mail sent successfully!";
else
echo"Mail not sent!";
?>


Here is my php.ini,
Code: Select all
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = smtp.gmail.com
smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = lukeaday1990@gmail.com

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and ;mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use ;this for sendmail_path. 
 
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
; sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "C:\xampp\php\logs\php_mail.log"


Here is my sendmail.ini,
Code: Select all
; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

;smtp_server=smtp.live.com

; smtp port (normally 25)

;smtp_port=25

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

;default_domain=

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

;auth_username=lukeday1990@hotmail.co.uk
;auth_password={REMOVED}

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines.  do not enable unless it is required.

;pop3_server=
;pop3_username=
;pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

;force_sender=

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

;force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

;hostname=

defaults
logfile "C:\xampp\sendmail\sendmail.log"

;new config:
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=tls
error_logfile=error.log
pop3_server=
pop3_username=
pop3_password=
force_recipient=
hostname=

auth_username=lukeaday1990@gmail.com
auth_password={REMOVED}
force_sender=lukeaday1990@gmail.com


As you will see from the script I am trying to send the test mail to my hotmail account using my ALT gmail account as the sendmail settings but when I run the script it says mail sent however nothing is received in my hotmail, I have checked the spam etc and refreshed etc but nothing? I have made sure my IMAP/SMTP is enabled in my Gmail settings and pop3 settings are disabled. I am using Xampp 1.8.1 and Win 7
. Anyone know what could be the issue here?

Re: [Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 19. June 2013 00:07
by Altrea
Hi CraftyMc,

No need to write in that huge letters, my eyes are quite good :D

You could try out PHPMailer or SwiftMailer instead of sendmail with mail().
These classes does have a much much better error reporting mechanism.

best wishes,
Altrea

Re: [Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 19. June 2013 00:17
by CraftyMc
lol funny you should say that cause i am in the process of trying phpmailer however i get this error when running the script,

Message could not be sent.
Mailer Error: SMTP Connect() failed.

and with debug mode i get this,

CLIENT -> SMTP: EHLO 80.192.1.138 CLIENT -> SMTP: AUTH LOGIN CLIENT -> SMTP: bHVrZWFkYXkxOTkwQGdtYWlsLmNvbQ== CLIENT -> SMTP: a2VlYW5uYWRheTE5OTA= SMTP -> ERROR: Password not accepted from server: 535-5.7.8 Username and Password not accepted. Learn more at 535-5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 535 5.7.8 {BADCREDENTIALS} b11sm5318014wiv.10 - gsmtp CLIENT -> SMTP: quit SMTP Connect() failed. Message could not be sent.
Mailer Error: SMTP Connect() failed.

here is my script,

Code: Select all
<?php
require("PHPMailer/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();    // set mailer to use SMTP
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";    // specify main and backup server
$mail->SMTPAuth = true;    // turn on SMTP authentication
$mail->Username = "lukeaday1990@gmail.com";    // SMTP username -- CHANGE --
$mail->Password = "{REMOVED}";    // SMTP password -- CHANGE --
$mail->Port = "465";    // SMTP Port

$mail->From = "lukeaday1990@gmail.com";    //From Address -- CHANGE --
$mail->FromName = "GambleCraft";    //From Name -- CHANGE --
$mail->AddAddress("lukeday1990@hotmail.co.uk", "Example");    //To Address -- CHANGE --
$mail->AddReplyTo("lukeaday1990@gmail.com", "Your Company Name"); //Reply-To Address -- CHANGE --

$mail->WordWrap = 50;    // set word wrap to 50 characters
$mail->IsHTML(false);    // set email format to HTML

$mail->Subject = "AuthSMTP Test";
$mail->Body    = "AuthSMTP Test Message!";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";
?>

Re: [Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 19. June 2013 00:21
by CraftyMc
Nevermind.. my password for my SMTP was wrong I'm a noob, please slap me, rookie mistake... now to recode my module to use phpmailer instead of mail(). :D

Re: [Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 19. June 2013 01:12
by CraftyMc
any idea how i would make it use PHPmailer as the default mail system because i have joomla and phpbb3 on my testing web server but they are still trying to use the default sendmail/mail() how would i make them use PHPmailer instead? thanks crafty

Re: [Mail Function] - Mail sent but nothing received? Win 7

PostPosted: 19. June 2013 13:42
by CraftyMc
any idea how to make xampp use PHPmailer instead of mail() ?