Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

$mail->addAddress() parameters

Tags:

phpmailer

S.O.S i am trying to send a message to a selected email(posted by form)so the form will pass the student_id to the php script which gets the corresponding student_email address (referenced by the student_id) ,,, i highly appreciate your help . this is the error message i get every time,,

Invalid refreshed: You must provide at least one recipient email address. Message was not sent PHP Mailer Error: You must provide at least one recipient email address.

the code:

<?php require_once("connection.php"); ?>
<?php require_once("functions.php"); ?>
<?php require("class.phpmailer.php");?>


<?php
 // START FORM PROCESSING
 if( isset($_POST['submit'])) { // Form has been submitted.
$student = trim(mysql_prep($_POST['student']));
$re_mail =$student["email"];
$mail = new PHPMailer();
$mail->PluginDir = './';
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = "smtp.gmail.com"; 
$mail->IsHTML(true); 
$mail->Mailer = "smtp";
$mail->SMTPSecure = "ssl";

$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "xxxxxxxxxx";

$mail->SingleTo = true; // if you want to send mail to the users individually so that no recipients can see that who has got the same email.

$mail->From = "[email protected]";
$mail->FromName = "xxxxxxxxx";

$mail->addAddress($re_mail );

$mail->Subject = "Testing PHP Mailer with localhost ";
$mail->Body = "Hi,This system is working perfectly.";

if(!$mail->Send())
echo "Message was not sent PHP Mailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";}
?>



<html>
<body>
<form id="form1" name="form1" method="post" action="">
  <span id="spryselect1">
  <label>Email:
  <select name="student" id="student" tabindex="1">
<?php 
  $students = get_all_students();//this function works fine
  while ($student = mysql_fetch_array($students)) {
  echo "<option value=\"{$student["id"]}\"> {$student["first_name"]}</option> ";
 }
 ?>  
  </select>
  </label>
    <p>
    <label>
    <input type="submit" name="submit" id="submit" value="Submit" />
    </label>
  </p>
</form>

</body>
</html>

note: i have this function in my function.php

function get_all_students() {
        global $connection;
        $query = "SELECT * 
                FROM student ORDER BY first_name ASC";
        $student_set = mysql_query($query, $connection);
        confirm_query($student_set);
        return $student_set;
    }
like image 807
Essam Avatar asked Nov 06 '22 05:11

Essam


1 Answers

Finally i got the answer,,,thanks to everyone offered help here :)

<?php require_once("connection.php"); ?>
<?php require_once("functions.php"); ?>
<?php require("class.phpmailer.php");?>
<?php
// START FORM PROCESSING
if( isset($_POST['submit'])) { // Form has been submitted.

$student = trim(mysql_prep($_POST['student']));
$re_to_student=get_student_by_id($_POST['proposer']);

//this is another function i have in my function.php

$st_email = $re_to_student["email"];


$mail = new PHPMailer();
$mail->PluginDir = './';
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = "smtp.gmail.com"; 
$mail->IsHTML(true); 
$mail->Mailer = "smtp";
$mail->SMTPSecure = "ssl";

$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mypassword";

$mail->SingleTo = true; // if you want to send mail to the users individually so that no recipients can see that who has got the same email.

$mail->From = "[email protected]";
$mail->FromName = "myweb.com";

$mail->addAddress($st_email);

$mail->Subject = "test";
$mail->Body = "Hi,This system is working perfectly.";

if(!$mail->Send())
echo "Message was not sent PHP Mailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";}


?>
like image 50
Essam Avatar answered Nov 22 '22 04:11

Essam