Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Godaddy phpmailer smpt配置_Php_Phpmailer - Fatal编程技术网

Godaddy phpmailer smpt配置

Godaddy phpmailer smpt配置,php,phpmailer,Php,Phpmailer,我们在godaddy服务器上有一个站点。我们有联系方式。当用户填写表单时,首先我们应该将邮件发送到info@oursite,之后我们应该从我们的info@oursite. 我的代码如下: $name = $_POST['name']; $email = $_POST['email']; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 2; $mail->port = 25; $mail->Ho

我们在godaddy服务器上有一个站点。我们有联系方式。当用户填写表单时,首先我们应该将邮件发送到info@oursite,之后我们应该从我们的info@oursite. 我的代码如下:

$name = $_POST['name'];
$email = $_POST['email'];


$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->port = 25;
$mail->Host = 'localhost';
$mail->Username = 'username@example.com';
$mail->Password = 'password';
$mail->addAddress($email, $name);
$mail->subject = 'Subject';
$mail->MsgHTML('mail içeriği');


if ($mail->Send()){
这将产生以下结果:

它似乎是邮件传递的,但从未传递过信息。 我尝试了很多东西

$mail->SMTPAuth=true

带有ssl的端口25,803535465, tls、ssl身份验证、


我该怎么办?有什么想法吗?

首先,您使用的是非常旧版本的PHPMailer

我不知道你的代码是从哪里来的,但是你把一些重要属性的情况弄错了——我建议你将代码建立在PHPMailer提供的示例上。特别是,subject应该是subject,port应该是port。当发送到localhost时,您不需要用户名或密码,因此不需要设置它们。类似地,端口默认为25,所以您不需要设置它

您没有指定发件人地址,而且您传递给addAddress的任何地址看起来都是无效的,因此您正在向任何人发送一条消息——毫不奇怪,它不会发送到任何地方

看起来您的邮件正文是土耳其语,在默认的ISO-8859-1字符集中不起作用,因此我建议您通过设置$mail->CharSet='UTF-8';,切换到UTF-8

在调用addAddress时检查返回值,以确保提交的值在尝试发送之前有效

有了这些东西:

$name = $_POST['name'];
$email = $_POST['email'];

$mail = new PHPMailer;
if (!$mail->addAddress($email, $name)) {
  die('Invalid email address');
}
$mail->isSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 2;
$mail->Host = 'localhost';
$mail->Subject = 'Subject';
$mail->msgHTML('mail içeriği');
$mail->setFrom('me@example.com', 'My Name');    

if ($mail->send()) {
    echo 'Sent';
} else {
    echo 'Error: '.$mail->Errorinfo;
}

你有没有审查过截图中的内容,或者是你实际上没有把问题的一部分提交给:地址?顺便说一句,你应该在你的主机上更改SMTP密码,因为你把它放在了你的帖子中。谢谢我更改了我的密码,还删除了一些数据,如“to:…”,谢谢你的回复。现在它发送邮件,但有一个小问题。当邮件转到hotmail时,它会被放入垃圾邮件文件夹,并出现类似“gmail/hotmail无法确认此邮件是否来自example.com”的警告。我用的是土耳其语,当我使用UTF-8时,有些字符是准确的,但有些是不准确的。这会出什么问题呢?它变成垃圾邮件是一个独立的问题,这里有很多答案。UTF-8数据有很多地方可能出错——搜索它。经过一些研究,我找到了UTF-8问题的解决方案。在class.phpmailer.php类中,我将行public$CharSet='iso-8859-1'更改为public$CharSet='iso-8859-9'。执行此操作时,不需要再设置$mail->CharSet='UTF-8'。不要编辑库代码。只需在您自己的代码中使用$mail->CharSet='iso-8859-9'。谢谢您的关注。我像你说的那样改变了。