您好我尝试向注册用户发送邮件。
这是我的代码:
function email($to, $subject, $body, $from){
require'PHPMailer-master/PHPMailerAutoload.php';
define('GUSER', 'ivan.goricki99@gmail.com');
define('GPWD', 'pass');
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Username = GUSER;
$mail->Password = GPWD;
$mail->SetFrom($from);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
}
function register_user($register_data){
array_walk($register_data, 'array_sanitize');
$register_data['password'] = md5($register_data['password']);
$fields = '`' . implode ('`, `', array_keys($register_data)) . '`';
$data = '\'' . implode('\',\'',$register_data) . '\'';
mysql_query("INSERT INTO `users` ($fields) VALUES ($data)");
email($register_data['email'], 'Aktivirajte svoj korisnički račun', "Zdravo".$register_data['username'].",\n\n da bi aktivirao svoj korisnički račun odi na dolje navedeni link:\n\n http://localhost/New%20folder%20(4)/index.php/activate.php?email=".$register_data['email']."&email_code=".$register_data['email_code']."\n\n CroVision");
}
我的代码中没有错误,但仍然可以发送邮件。
由于
答案 0 :(得分:1)
我希望你在Linux上工作。如果是这种情况,请检查您的/var/log/mail.log
或/var/log/maillog
取决于Linux发行版。问题可能是服务器正在为不同的reassons弹出您的电子邮件。
注意:你安装了sendmail或postfix吗?
如果这是一个Windows环境,我很抱歉,我无法帮助你。
祝你好运答案 1 :(得分:0)
更改$ mail-> SMTPDebug = 0;到$ mail-> SMTPDebug = 1;所以它会显示错误。
同时确认您是否将变量作为电子邮件地址传递。
如果您使用任何托管帐户,则有时您可能无法使用SMTP发送。
如果您使用的是localhost,请尝试在php.ini文件中打开ssl。如果您没有看到任何错误,它可能会解决您的问题。
答案 2 :(得分:0)
您不会在电子邮件()
的调用中为$ from参数提供任何值