-3

我需要能够从用户那里获取电子邮件地址,然后使用 php 向他们发送带有链接的电子邮件。我知道有一些使用 jquery 或 AJAX 的实现,但我对这两个主题都没有经验。我希望有一些简单的东西。谢谢

4

3 回答 3

5

“我需要能够从用户那里获取电子邮件地址”

创建一个表格:

<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,然后在线阅读它们(或查看我的个人资料,我已经给出了许多可以使用它的完整工作代码)。

于 2013-03-25T00:59:31.763 回答
0

如果您尝试在表单中发送电子邮件,您可以对表单操作执行此操作,其余操作类似。希望能帮助到你(:

<form action="MAILTO:name@email.com" method="post" enctype="text/plain">
于 2013-03-25T00:09:07.920 回答
0

PHP有一个邮件功能。不过,您需要为此配置 php.ini

于 2013-03-25T00:19:52.560 回答