你的意思是你得從一個POST
或GET
在現場「電子郵件」輸出用戶輸入的電子郵件地址(例如:name="email"
)?試試這個:
$mailer->setTo($_POST['email']);
有趣的部分是,你可以用name="email[]"
,在那裏你可以簡單地說,再次,沿着$_POST['email']
到setTo
通過使用它,你就大功告成了! :)
$mailer->setTo(array(
'[email protected]' => 'Name 1',
'[email protected]' => 'Name 2',
'[email protected]' => 'Name 3',
'[email protected]' => 'Name 4',
));
您還可以使用更多的例子,像name="name[]"
像這樣結合name="email[]"
:
$mailer->setTo(array_combine($_POST['email'], $_POST['name']));
注意,對於array_combine工作,你需要長度的兩個相同的陣列。像這樣保護您的代碼(可擴展以滿足您的需求):
$emails =& $_POST['emails'];
$names =& $_POST['name'];
if (count($emails) > count($names)) {
$emails = array_slice($emails, 0, count($names));
}
else if (count($names) > count($emails)) {
$names = array_slice($names, 0, count($emails));
}
$mailer->setTo(array_combine($emails, $names));
祝您好運!
要非常小心,如果你被允許客戶端注入其中,電子郵件是越來越交付。垃圾郵件發送者可能會將您的服務器列入黑名單。 –