2015-12-24 43 views
0

因此,我們使用swiftmailer作爲我們目錄網站的「聲明此業務」程序的一部分。基本上,當用戶點擊「索取此業務」時,它會向文件中的電子郵件地址發送電子郵件以驗證業務的所有權。Swiftmailer幾小時發送多封電子郵件

問題在於它第一次沒有問題就發送它,但幾小時後,同一封電子郵件的另一個副本將再次出現,然後幾個小時後再次出現。有人可以看看我們的腳本是否有問題,或者如果我們遇到另一個問題。

這裏是代碼,我省略了爲空間目的而設置$htmlEmail$textEmail的位置,但顯然它們已設置。

$getVar = filter_input(INPUT_GET,'id',FILTER_SANITIZE_STRING); 
$sql = "SELECT email FROM auctioneer WHERE id = ?"; 
require('includes/db_connect.php'); 
$stmt = $conn->prepare($sql); 
$stmt->bind_param("i",$getVar); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($email); 
$stmt->fetch(); 

require_once 'lib/swift_required.php'; 
$mailer = Swift_Mailer::newInstance(
Swift_SmtpTransport::newInstance('mail.*****.com', 25) 
->setUsername('[email protected]****.com') 
->setPassword('******') 
); 

$textemail = 'blah blah blah'; 

$htmlemail = 'blah blah blah'; 


$message = Swift_Message::newInstance(); 
$message->setSubject('Auctioneer Directory Listing Claim'); 
$message->setFrom(array('[email protected]****.com' => '****')); 
$message->setBody($textemail); 
$message->addPart($htmlemail, 'text/html'); 
$message->setTo($email); 

$mailer->send($message); 

?> 
+0

聽起來更像郵件服務器的問題,檢查其日誌 –

+1

您確定沒有* ghost * cron發生?或MySQL觸發器?或一個機器人嗅探你的網站,他們是「幽靈克隆」。不知道。 –

+0

你覺得@Dagon - 地精呢?^ –

回答

0

所以這個問題的答案很簡單,我們也犯了一個很大的錯誤。但對於那些再次遇到像這樣的東西,它就像這樣...

當我們鏈接到驗證腳本,我們沒有添加rel="nofollow"鏈接。你大概可以猜到接下來發生了什麼。是的,谷歌機器人走了,並試圖蜘蛛鏈接,併發送一封電子郵件,每次他們點擊鏈接時...

而這些人是如何勾選您的企業名錄中列出的所有3400人! ARGH !!!!!