我正在创建一个必须发送电子邮件确认的注册系统。 我已经安装了laragon,我使用的是php mailer,5.2.14版本。 phpmyadmin设置良好,它接受用户的注册数据,但没有发送电子邮件。
允许我创建用户并发送电子邮件的注册代码(即function.php内部)如下:
function createuser($first_name, $last_name, $username, $email, $password)
{
global $url;
$first_name = escape($first_name);
$last_name = escape($last_name);
$username = escape($username);
$email = escape($email);
$password = escape($password);
$password = password_hash($password);
$token = password_hash($username . microtime());
$sql = "INSERT INTO users(first_name,last_name,username,email,password,token,activition) ";
$sql .= "VALUES('$first_name','$last_name','$username','$email','$password','$token',0)";
confirm(query($sql));
//this is the message that is going to appear to user and it says to open the email where there's the activation link
set_message('Per favore controlla la tua email o la tua cartella spam per vedere il link di attivazione');
//this is the content of the email, that contains my email
$subject = "Attivazione account";
$msg = "Clicca su questo link per attivare il tuo account
$url/activate.php?email=$email&code=$token";
$headers = "From: caredda.sara@gmail.com";
send_email($email, $subject, $msg, $headers);
redirect('index.php');
}
//this is the function to send the email
function send_email($email, $subject, $msg, $headers)
{
return mail($email, $subject, $msg, $headers);
}
我创建了另一个文件,其中有注册系统的html代码,它链接到function.php文件。 在html代码之前,我复制粘贴了phpmailer代码,并进行了自定义修改。 代码如下:
<?php if(isset($_POST['sendmail'])) {
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
// $mail->SMTPDebug = 4; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'caredda.sara@gmail.com'; // SMTP username
$mail->Password = 'my_google_account_password'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('caredda.sara@gmail.com', 'Sara Caredda');
$mail->addAddress($_POST['email']); // Add a recipient
$mail->addReplyTo('caredda.sara@gmail.com');
// print_r($_FILES['file']); exit;
for ($i=0; $i < count($_FILES['file']['tmp_name']) ; $i++) {
$mail->addAttachment($_FILES['file']['tmp_name'][$i], $_FILES['file']['name'][$i]); // Optional name
}
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $_POST['subject'];
$mail->Body = '<div style="border:2px solid red;">Body del messaggio html<b>in bold!</b></div>';
$mail->AltBody = $_POST['message'];
if(!$mail->send()) {
echo 'Il messaggio non è stato mandato.';
echo 'Errore Mailer: ' . $mail->ErrorInfo;
} else {
echo 'Il messaggio è stato mandato';
}
}
?>
这就是全部。 这段代码不发送任何电子邮件,而我是一个学生,我正在试图理解为什么。 我花了整个晚上的时间。 我想,现在是寻求帮助的时候了。 你能帮帮我吗?
我想是关于授权的问题。 你需要访问谷歌帐户的安全页面,并打开“不太安全的应用程序访问”的访问。
发送电子邮件时,页脚中有下面的标准消息。 此电子邮件是使用CakePHP框架发送的,http://cakephp.org. 它似乎使用了这个: 我的控制器里有这个。 创建了以下视图: /应用程序/查看/电子邮件/文本/梦想。ctp /应用程序/视图/布局/电子邮件/文本/梦想。ctp 是否有任何其他设置我错过了cakephp使用我的布局? *注:如果我重新命名我的梦想。ctp默认。ctp它使用那个
我正在使用Laravel,我想使用PHP邮件功能。我已经尝试过了: 但没有电子邮件获取发送至少我不接收它检查垃圾邮件文件夹,它不在那里,我不接收任何错误消息时,执行此代码。 php邮件函数用来发送邮件的是什么?也许我错过了什么? 此外,我没有运行这个地方,我有它上传到我的VPS运行Ubuntu 16.04。1 LTS
问题内容: 现在,我已经建立了一个PHP电子邮件表单,并且一切正常。但是,在测试时,我只得到了发件人的电子邮件地址作为名称。我想要的是发件人的姓名,例如: 约翰·杜 科目科目科目 代替: j.doe@website.com 科目科目科目 下面是代码… 有谁可以帮助我吗?谢谢。 PHP: 问题答案: 在您的4行说完之后添加一行:
我得到的错误是:无效地址:mysmtppassxxxxSMTP->错误:连接到服务器失败:连接超时(110) SMTP错误:无法连接到SMTP主机。SMTP错误:无法连接到SMTP主机 当我执行var_dump($email)时,我得到
我想发送变异邮件给用户。
问题内容: 我目前正在写一个音乐博客。管理员每2-3天发布一次新文章。管理员发布文章后,将立即向大约5000个订阅者发送大量电子邮件。 实施群发邮件功能的最佳方法是什么? 下列功能有效吗? 另一个问题:如果所有5000个订阅者都在使用Yahoo Mail,Yahoo是否会将其视为DDOS攻击并阻止我的SMTP服务器的IP地址? 问题答案: 首先,使用PHP随附的mail()函数不是最佳解决方案。它
问题内容: 我在网站上使用PHP,并且想添加电子邮件功能。 我已经安装了WAMPSERVER。 如何使用PHP发送电子邮件? 问题答案: 使用PHP的功能是可能的。请记住,邮件功能在本地服务器上不起作用。
问题内容: 我知道有一些与此类似的问题,但我无法使其正常运行。 好的,我在一个名为$ emailList的变量中有一个从数据库中获取的电子邮件列表。如果将变量放在该部分中,则可以获取代码以从表单发送电子邮件,但无法使其与bcc一起使用。我什至还添加了一封电子邮件,以防万一,但这没什么关系。 这是我的代码。 我试过两个代码: 和 不是因为这些电子邮件而没有分开电子邮件。我知道他们是因为如果我在本节中