如何从用户表中提取电子邮件地址,并使用$_SESSION[user_id]
变量向该地址发送电子邮件?
在付款流程结束时,我想向用户发送确认电子邮件。用户ID存储在会话中,我想将确认发送到存储在用户表中的电子邮件地址。
<?php
$to = "recipient@example.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>
如何使用查询插入与$ _SESSION [user_id]变量关联的相应电子邮件?
$q = "SELECT email from users where id='".$_SESSION['user_id']."'";
$r = mysqli_query ($dbc, $q);
$to = "email";
$subject = "Confirmation";
$body = "Hi,\n\nConfirmation?";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
我已成功发送信息邮件,但电子邮件从未到达... 在注册过程中,我使用以下方式发送电子邮件:
$body = "Thank you for registering at <...>. Welcome to digital world of knowledge.";
mail ($_POST['email'], 'Registration Confirmation', $body, 'From: admin@ttt.com');
答案 0 :(得分:0)
您必须根据用户ID编写一个选择查询,以获取类似这样的电子邮件
$sql = "SELECT email from user where user_id='".$_SESSION[user_id]."'";
然后使用该电子邮件执行邮件功能
答案 1 :(得分:0)
您需要从用户对象获取电子邮件地址:
$user = User::getByID($_SESSION[user_id]);
$email = $user->getEmail();
此代码只是示例性的,它取决于您的用户对象的工作方式。如果你没有,那么我的回答是建议你自己创建一个用户对象。
答案 2 :(得分:0)
如果没有从email address
获得Database
,就无法做到这一点,
或者
用户登录成功后,您可以再设置一个会话变量
$_SESSION['email'] = 'abc@example.com'