$ mail-> addAddress()参数

时间:2010-12-23 17:44:25

标签: phpmailer

SOS 我正在尝试向选定的电子邮件发送消息(按表单发布),因此表单会将student_id传递给php脚本,该脚本会获取相应的student_email地址(由student_id引用) ,,, 我非常感谢你的帮助。 这是我每次都得到的错误消息,

  

刷新无效:您必须提供at   至少一个收件人邮箱地址。   消息未发送PHP Mailer错误:   您必须至少提供一个   收件人电子邮件地址。

代码:

<?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 = "xxxxx@gmail.com";
$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 = "xxxxxx@gmail.com";
$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>

注意: 我在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;
    }

1 个答案:

答案 0 :(得分:2)

最后我得到了答案,,,感谢大家在这里提供帮助:)

<?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 = "mymail@gmail.com";
$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 = "mymail@gmail.com";
$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";}


?>