를 해결하기 위해 인식하지 않지만,이 오류 메시지가 내가 가진
You must provide at least one recipient email address.
이
$mail->AddAddress($to);
결과 $ to에 인쇄를 시도하고 메시지를 보내려는 정확한 이메일 주소를 출력합니다. $ to 대신 전자 메일 주소를 입력하면 메일이 전송됩니다. 아무도 도와 줄 수 있습니까? 감사!
// if the email seller form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
// retreive the seller's email using his id
$seller_id = $_GET["sellerid"];
// query for the seller's email
$user_query = query("SELECT username FROM users WHERE id = ?", $seller_id);
$to = $user_query[0]["username"];
// send an email to the seller
require_once("PHPMailer/class.phpmailer.php");
// instantiate mailer
$mail = new PHPMailer();
// use your ISP's SMTP server
$mail->IsSMTP();
$mail->Host = "smtp.fas.harvard.edu";
// set From:
$mail->SetFrom($_POST['buyer_email']);
// set To:
$mail->AddAddress($to);
// set Subject:
$mail->Subject = $_POST['subject'];
// set body
$mail->Body = $_POST['message'];
// set alternative body, in case user's mail client doesn't support HTML
$mail->AltBody = "Please view this message in an HTML-enabled browser.";
// send mail
if ($mail->Send() === false)
die($mail->ErrorInfo . "\n");
이 쿼리 기능
/**
* Executes SQL statement, possibly with parameters, returning
* an array of all rows in result set or false on (non-fatal) error.
*/
function query(/* $sql [, ... ] */)
{
// SQL statement
$sql = func_get_arg(0);
// parameters, if any
$parameters = array_slice(func_get_args(), 1);
// try to connect to database
static $handle;
if (!isset($handle))
{
try
{
// connect to database
$handle = new PDO("mysql:dbname=" . DATABASE . ";host=" . SERVER, USERNAME, PASSWORD);
// ensure that PDO::prepare returns false when passed invalid SQL
$handle->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch (Exception $e)
{
// trigger (big, orange) error
trigger_error($e->getMessage(), E_USER_ERROR);
exit;
}
}
// prepare SQL statement
$statement = $handle->prepare($sql);
if ($statement === false)
{
// trigger (big, orange) error
trigger_error($handle->errorInfo()[2], E_USER_ERROR);
exit;
}
// execute SQL statement
$results = $statement->execute($parameters);
// return result set's rows, if any
if ($results !== false)
{
return $statement->fetchAll(PDO::FETCH_ASSOC);
}
else
{
return false;
}
}
'$ to'을 반향 출력 해 보시고 거기에 이메일 주소가 있는지 확인하셨습니까? 어쨌든 웃음 거리 만? – phpisuber01
예, 시도했지만 올바른 이메일 주소가 나타났습니다. –
일부 메일 서버 설정 일 수 있습니다. 나는 그것들을 두 번 체크 할 것이다. – SeanWM