我创建了一个wordpress插件,我想在其中发送一封电子邮件到已插入表单的地址。我这样用它:
$to_email = esc_attr($_POST['to_email']);
mail($to_email, ...
这对于垃圾邮件等是否安全?或者我是否必须使用另一个wordpress函数(esc_attr除外)来通过此表单禁用可能的威胁?
http://codex.wordpress.org/Function_Reference/esc_attr
谢谢!
答案 0 :(得分:1)
用wp_mail替换邮件 http://codex.wordpress.org/Function_Reference/wp_mail
您需要检查电子邮件地址是否已设置以及有效地址。如果它通过了两个测试,则将其设置为POST值。如果没有,则将值设置为false,不要继续尝试发送电子邮件。
$to_email = ( isset( $_POST['to_email'] ) && is_email( $_POST['to_email'] ) ) ? $_POST['to_email'] : false;
答案 1 :(得分:1)
正如另一个答案所示,您应该使用wp_mail()而不是mail()。
我认为您可能想使用sanitize_email而不是esc_attr。您可以使用is_email查看是否是电子邮件(即包含“@”等)。