Если вы хотите сделать полностью входное решение, у меня был успех недавно, оставив атрибут действия формы пустым и заполнив его с помощью функции $ (document) .ready.
Пример:
Ваш html будет:
<form method="POST" action="" id="contact-form">
] и в любом месте этой страницы вы можете использовать это, чтобы заполнить его.
<script>
$(document).ready(function(){
$("#contact-form").attr("action", "/yourMailScript.cgi");
});
</script>
Бот-браузер без javascript не получит действие формы, и они получат 404 при представлении. Любой, у кого нормальный браузер (если у них нет JS, отключенного по параноидальным причинам), получит нормальное поведение.