我希望在按下按钮时将自动电子邮件发送给某人的电子邮件。我遇到了一些问题,我不确定这是什么JavaScript。二,我不知道如何混合PHP和JavaScript,因为我需要使用PHP从SQL表中获取他们的电子邮件地址和密码,据我所知,我需要JavaScript来发送电子邮件。最后,我不知道如何将PHP中的密码添加到电子邮件中。任何这些的帮助将不胜感激。感谢。
答案 0 :(得分:4)
最简单的方法:
在您的网页上制作HTML表单:
<form method="POST" action="email-script.php">
<label for="email">Email:</label>
<input type="text" name="email" id="email" />
<input type="submit" value="Ok" />
</form>
在您的email-script.php文件中编写PHP代码:
<?php
$email=$_POST['email'];
$subject = 'Your subject for email';
$message = 'Body of your message';
mail($email, $subject, $message);
?>
当你掌握这个简单的方法时,你可以使用更高级的AJAX方法(所以你不需要重新加载页面)或SMTP(这使你可以更好地控制向用户发送邮件)。
答案 1 :(得分:2)
您可以通过PHP发送电子邮件,但是大多数关于SO的答案都说“使用mail()函数”已经过时,我认为无论如何都无法使用。
我建议您使用JavaScript或只是收集用户ID或用户电子邮件的HTML表单。然后将其作为参数传递给调用要运行的PHP的post函数。
在PHP文件中,您阅读了电子邮件(例如,通过$ _POST ['email'])。 然后运行SQL查询以检索密码,即电子邮件等于您刚刚阅读的密码。
最后,由于您现在已将密码存储在变量中,因此您将继续使用PHP文件并使用PHPMailer的函数,如以下示例所示:https://github.com/PHPMailer/PHPMailer/blob/master/examples/mail.phps。 或者,您可以使用类似的库来实现相同的功能。
然后将密码放入电子邮件文本中并发送给用户。
然而,需要注意的是:在安全性方面,以明文格式(未加密)将密码发送到用户的电子邮件地址是非常不明智的。我建议你给他们发一封带密码重置链接的电子邮件,这会将他们引导到一个表格,他们可以选择一个新密码并确认。这将需要一个不同的PHP文件,您可以在其中执行UPDATE查询以更改存储在数据库中的密码。
我认为你已经解决了你的问题,因为这是一个老问题,但也许这会帮助其他偶然发现它的人。
答案 2 :(得分:0)
我过去做过类似的事情,最好的方法是创建一个HTML表单。然后使用PHP获取所有数据,仍然使用该PHP发送电子邮件。不需要JavaScript。我可以推荐这些链接
为什么需要从SQL表中访问数据?这是一种密码恢复类型的表单吗?如果是这样,那也可以用php完成。但是,鉴于这是一个Q&amp; A帮助网站,而不是论坛,我会聘请开发人员。
这个link可以帮助从php访问mysql数据库。
此link可以帮助发送php电子邮件。
此link有助于从php发送基于html的电子邮件。
答案 3 :(得分:0)
您可能想通过jQuery调查AJAX。
AJAX允许你在javascript中打开一个PHP脚本,然后用PHP脚本回复做任何事情。
如果您不介意离开界面页面,可以使用HTML表单。
答案 4 :(得分:0)
听起来有点困惑,JavaScript对发送电子邮件没有任何帮助..
..也许这会帮助你这样思考:
带有链接(<a>
)的HTML页面,引用您的php脚本:
`<a href="email-script.php">Send Email</a>`
一个(单独的)PHP脚本(在上面的示例中称为email-script.php
),它使用众多邮件库中的一个(swiftmailer,phpmailer)来发送电子邮件。
然后php脚本应该将用户返回到原始页面..并显示一条消息告诉用户他们的电子邮件已发送
有许多教程可以从PHP发送电子邮件,上面的链接是带有示例代码的页面。