配置SMTP邮件服务器,我的主机是1and1.com

时间:2017-03-24 18:01:26

标签: php configuration smtp

我正在尝试使用' phpmailer'配置SMTP服务器我正在使用我的电子邮件帐户电子邮件和密码来自我的' 1and1'电子邮件服务器,这是我尝试过的代码,但我收到的错误是' SMTP' connect()失败了,我不知道我做错了什么。 代码来源:' github'

   <?php 
require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.1and1.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'myemail@server.com';                 // SMTP username
$mail->Password = '*********';                           // SMTP password
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 993;                                     // TCP port to connect to

$mail->setFrom('myemail@server.com', 'Mailer');
$mail->addAddress('receiver@gmail.com', 'Shaur');     // Add a recipient
//$mail->addAddress('shaurshori@gmail.com');               // Name is optional
//$mail->addReplyTo('shaurshori@gmail.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');

//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}
?>

2 个答案:

答案 0 :(得分:0)

date_default_timezone_set('Etc/UTC');
require 'vendor/autoload.php';


$mail = new PHPMailer;

$mail->isSMTP();  
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 2;

$mail->Debugoutput = 'html';

$mail->Host = 'smtp.mailgun.org';

$mail->Port = 587;

$mail->SMTPSecure = 'tls';

$mail->SMTPAuth = true;

$mail->Username = "@email.com";

$mail->Password = "**************";

$mail->setFrom('emailTo','name' );
$mail->addAddress('emailFrom', 'name');



$mail->addAddress('');

$mail->Subject = 'Test';

$mail->msgHTML("<h1>Succes!</h1>");

$mail->AltBody = 'Succes';

if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

我有一些有用的东西

答案 1 :(得分:0)

更改

$mail->SMTPSecure = 'ssl';

$mail->SMTPSecure = 'tls';

如1and1电子邮件外发服务器上所述,信息“外发端口(必须激活TLS)”