我需要能够从用户那里获取电子邮件地址,然后使用 php 向他们发送带有链接的电子邮件。我知道有一些使用 jquery 或 AJAX 的实现,但我对这两个主题都没有经验。我希望有一些简单的东西。谢谢
3 回答
“我需要能够从用户那里获取电子邮件地址”
创建一个表格:
<form action="emailHandler.php" method="POST" id="emailForm">
<label for="emailInput">Email: </label>
<input type="text" name="emailInput" id="emailInput" value="" />
<input type="submit" id="submitEmail" value="Submit Email" />
</form>
“然后使用 php 向他们发送带有链接的电子邮件”
表单中的提交按钮会将输入字段的值发布到 PHP 脚本 emailHandler.php
“我知道有一些使用 jquery 或 AJAX 的实现,但我对这两个主题都没有经验”
你不需要 jQuery 或 AJAX,jQuery 和 AJAX 是 javascript 主题(在这种情况下,AJAX 是关于让你从 HTML 中获取值,然后将它们发布到 PHP 后端,并接收一个 JSON 对象来告诉javascript是否成功,这里显然不需要,但可以使用),您可以简单地使用内置的PHP邮件功能: http: //php.net/manual/en/function.mail.php
在 emailHandler.php 中。
我喜欢这样做:
function spamcheck($field)
{
//filter_var() sanitizes the e-mail
//address using FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() validates the e-mail
//address using FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return true;
}
else
{
return false;
}
}
function sendMail($toEmail, $fromEmail, $subject, $message)
{
$validFromEmail = spamcheck($fromEmail);
if($validFromEmail)
{
mail($toEmail, $subject, $message, "From: $fromEmail");
}
}
在 emailHandler.php 中做这样的事情:
$email = isset($_POST['emailInput']) ? $_POST['emailInput'] : false;
if($email != false)
{
$yourEmail = "example@example.com";.
$subject = "Link";
$message = "The link and some message";
$success = sendMail($email, $yourEmail, $subject, $message);
}
在某些情况下你必须修改 PHP ini 文件,你可以这样做:
ini_set('SMTP' , 'smtp.example.com');
ini_set('smtp_port' , '25');
ini_set('username' , 'example@example.com');
ini_set('password' , 'password');
ini_set('sendmail_from' , 'example@example.com');
“......我希望得到一些简单的东西。谢谢”
如果这不简单,那我不知道是什么。如果您不想让它变得复杂,请使用 jQuery 和 Ajax,然后在线阅读它们(或查看我的个人资料,我已经给出了许多可以使用它的完整工作代码)。
如果您尝试在表单中发送电子邮件,您可以对表单操作执行此操作,其余操作类似。希望能帮助到你(:
<form action="MAILTO:name@email.com" method="post" enctype="text/plain">
PHP有一个邮件功能。不过,您需要为此配置 php.ini。