2010-12-23 17 views
5

SOS estoy tratando de enviar un mensaje a un correo electrónico seleccionado (publicado por formulario) para que el formulario pase el student_id al script php que obtiene la dirección student_email correspondiente (referenciada por student_id) ,,, Agradezco mucho su ayuda. este es el mensaje de error que consigo cada vez que ,,

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.

el código:

<?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> 

nota: tengo esta función en mi 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; 
    } 
+0

Por favor, puesto algunos ejemplos de direcciones de correo electrónico que no funcionan –

+0

'' mysql_ * funciones han sido oficialmente obsoleto — debe emigrado a MySQLi o DOP :) – Terry

Respuesta

2

Finalmente recibí la respuesta ,,, gracias a todos los que se ofrecieron ayuda aquí :)

<?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";} 


?>