2017-04-05 114 views
-2

我使用php郵件發送成功後提交給客戶端的響應。這工作正常。我有一個foreach循環處理逗號分隔的條目,發生了什麼事情是郵件發送每個項目的電子郵件,而不是1條電子郵件顯示條目,如:item1,item2,item3等我知道foreach循環正在做這件事,因爲我可以回顯項目來屏幕。php郵件發送多個郵件

我在沙箱上發佈了代碼,並在此處包含鏈接。任何幫助感激地收到。我一直在爲此掙扎2天,最後需要尋求幫助。由於

http://sandbox.onlinephpfunctions.com/code/0076b85be7e86ba4c710366dc67d0a956542e6de

+0

您正在循環內發送電子郵件。所以有多封電子郵件正在發送。循環被用來反覆做事。如果您想發送一封電子郵件,請在循環之外進行。 – David

+0

您需要在foreach循環之外編寫一次電子郵件。並使用foreach循環來追加電子郵件地址到'$ to'變量;然後執行你的郵件函數AFTER和OUTSIDE foreach循環。 – coderodour

+0

我已將郵件從循環中取出,但它只發送1個項目,並且應該有3個。 – user1532468

回答

1

郵件移動函數調用了foreach循環的。

foreach ($_SESSION['boxdest'] as $key=>$value) { 
    ... 
    foreach($temp as $k => $v) { 
    ... 
    } 
} 
mail($to,$subject,$body,$header); 
+0

我已按照建議完成該項目。但是,$ v的值應該是3個項目,但它只發送最後一個項目。如果我回顯$ v它顯示所有3個項目,但在郵件腳本中它只發送最後一個條目。我的編碼是否正確?謝謝 – user1532468

+0

我應該說,如果我在循環內回顯$ v,那麼它顯示3個項目。如果我移到循環之外,它只顯示最後一個項目。這讓我瘋狂。歡呼 – user1532468

+0

我需要將此主題標記爲已回答,但原始海報已刪除答案。我如何將這個問題標記爲答案,並授予海報信用。謝謝。 – user1532468