Я отправляю электронные письма через библиотеку PHP SwiftMailer. У меня есть этот PHP-код для отправки 1 письма 1 получателю от 1 отправителя. Вот код:
$email = /*some email recipient*/;
$sendEmail = /*sender's email*/;
$sendName = /*sender's name*/;
$subject = /*email subject*/;
$body = /*email body*/;
//Create the message
//Create the Transport
$transport = Swift_SmtpTransport::newInstance('/*mail host*/', /*port*/)
->setUsername('/*some username*/')
->setPassword('/*some password*/')
;
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create a message
$message = Swift_Message::newInstance($subject)
->setFrom(array($sendEmail => $sendName))
->setTo($email)
->setBody($body, 'text/html')
;
//Send the message
$result = $mailer->send($message);
Каждый раз, когда я запускаю этот код, он отправляет письма от этого отправителя на это письмо с темой и телом. Два одинаковых письма прямо друг на друга. Есть идеи почему?
ОБНОВЛЕНИЕ - вот полный код:
Вот вся страница:
<?php
ob_start();
session_start();
require_once ('config.php');
require_once 'swiftmailer/lib/swift_required.php';
include ('functions.php');
require_once (MYSQL);
sendConfirmation(12,3,$dbc);
ob_end_flush();
?>
А вот функция, на которую ссылается страница (которая находится в файле functions.php:
function sendConfirmation($signup_id,$app_id,$dbc){
//get signup email and ref code
$q = "SELECT email, ref_code FROM sign_ups WHERE (signup_id='$signup_id')";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
$email;
$ref;
if (mysqli_num_rows($r) == 1){
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
$email = $row['email'];
$ref = $row['ref_code'];
}
//get app info (subject, email body, sender email, sender name)
$q = "SELECT bsignupemail_subj, bsignup_email, email, name, bsignup_url FROM apps WHERE (app_id='$app_id')";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
$sendEmail;
$sendName;
$subject;
$body;
$url;
if (mysqli_num_rows($r) == 1){
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
$url = $row['bsignup_url'];
$sendEmail = $row['email'];
$sendName = $row['name'];
$subject = $row['bsignupemail_subj'];
$body = $row['bsignup_email'];
}
//Create the message
//Create the Transport
$transport = Swift_SmtpTransport::newInstance('/*host*/', /*port*/)
->setUsername('/*username*/')
->setPassword('/*password*/')
;
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create a message
$message = Swift_Message::newInstance($subject)
->setFrom(array($sendEmail => $sendName))
->setTo(array($email))
->setBody($body, 'text/html')
;
//Send the message
$result = $mailer->send($message);
}