0
votes

i am trying to send a mail through php.. i have tried through php's mail function and phpmailer() function too. but i'm not able to send it i have tried by changing settings in php.ini tooby setting port no. to 465,25 and some more settings by getting help over the net but still my mail is not working, my code

<html>
<head>
<title>PHPMailer - SMTP (Gmail) basic test</title>
</head>
<body>

<?php
date_default_timezone_set('asia/calcutta');

require_once('class.phpmailer.php');
$mail             = new PHPMailer();

$body             = "testing message";

$mail->IsSMTP(); // telling the class to use SMTP

$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
$mail->Username   = $_POST["u"];  // GMAIL username
$mail->Password   = $_POST["p"];            // GMAIL password

$mail->SetFrom($_POST["u"], 'First Last');

$mail->Subject = "hello";

    $mail->MsgHTML($body);

$address = $_POST["to"];
$mail->AddAddress($address, "info");

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

</body>
</html>

i have an other page taking username,password,sender's email and getting dem on dis page.and the error i am getting is something like this:

Mailer Error: The following From address failed: s********@g***l.com : MAIL not accepted from server,530,5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/answer/14257 sa9sm15580073pbc.18 - gsmtp

SMTP server error: 5.5.1 Authentication Required. Learn more at 530 5.5.1 https:/support.google.com/mail/answer/14257 sa9sm15580073pbc.18 - gsmtp

SMTP server error: 5.5.1 Authentication Required. Learn more at 530 5.5.1 https:/support.google.com/mail/answer/14257 sa9sm15580073pbc.18 - gsmtp

sometimes i also get an error message saying:

called mail() without being connected mailer error in php

please help me anyone.... And Thanks in advance

1
You've based your code on an old example, and are probably using an old version of PHPMailer. Get the latest. After that, read the troubleshooting docs.Synchro
try $mail->SMTPSecure = 'tls';, double check the username and password. You can check the PHPMailer documentation for gmail.Arjun Komath

1 Answers

-1
votes

This is my phpMailer. Hope it will help you

require RB_ROOT.'/PHPMailer-master/PHPMailerAutoload.php';

define('GLAVNIMAIL', '[email protected]');
define('PASSMAIL', 'xxxxxxxxx'); // enable 2 way notification on gmail to get this code

$mail = new PHPMailer;
//$mail->SMTPDebug = 4;
$mail->CharSet = 'UTF-8';
$mail->isSMTP();
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = GLAVNIMAIL;  
$mail->Password = PASSMAIL;
$mail->From = GLAVNIMAIL;
$mail->FromName = 'Title From';
$mail->isHTML(true);
$mail->addAddress($email, 'Nov Korisnik');     // Add a recipient
//$mail->addReplyTo($email, $korpaime.' '.$korpaprezime);
//$mail->addCC('[email protected]');
$mail->addBCC(GLAVNIMAIL);
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

$mail->Subject = 'Registracija korisnika '.$email;
$mail->Body = $bodyMail;
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if (!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
    die;
} else {
    echo 'OK poslat mail';

This is link for PHP MAILER

Hope it helps