Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
SMTP连接超时PHP电子邮件_Php_Email_Phpmailer_Swiftmailer - Fatal编程技术网

SMTP连接超时PHP电子邮件

SMTP连接超时PHP电子邮件,php,email,phpmailer,swiftmailer,Php,Email,Phpmailer,Swiftmailer,请在将此标记为副本之前阅读。我什么都试过了 我一直在尝试使用SwiftMailer和PHPMailer从我的网站表单发送电子邮件,这两种工具我以前都用过。由于某种原因,在过去的几天里,我没有让他们工作。每次,无论设置如何,我都会收到错误110-到smtp服务器的连接超时。我已尝试使用我的gmail帐户和1.com电子邮件帐户的身份验证。我甚至使用fsockopen添加了一个支票,gmail、godaddy nor 1和1的smtp服务器都可以连接。我甚至给1和1打了两次电话,询问防火墙和任何可能

请在将此标记为副本之前阅读。我什么都试过了

我一直在尝试使用SwiftMailer和PHPMailer从我的网站表单发送电子邮件,这两种工具我以前都用过。由于某种原因,在过去的几天里,我没有让他们工作。每次,无论设置如何,我都会收到错误110-到smtp服务器的连接超时。我已尝试使用我的gmail帐户和1.com电子邮件帐户的身份验证。我甚至使用
fsockopen
添加了一个支票,gmail、godaddy nor 1和1的smtp服务器都可以连接。我甚至给1和1打了两次电话,询问防火墙和任何可能阻止我发送电子邮件的问题,他们说他们不知道问题出在哪里。我已尝试了多个Stackoverflow问题上列出的所有问题,但无法解决此问题。有没有什么事情可以阻止这一切?我的网络连接(试过在家和工作)也许?我很迷路!我的PHPMailer和SwiftMailer代码将粘贴在下面。请记住,我曾尝试使用端口465/ssl和端口587/tls,但两者都不起作用

require 'PHPMailerAutoload.php';

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = 'inquiry@example.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'ssl';
$mail->From = 'inquiry@example.com';
$mail->addAddress('example@gmail.com');
$mail->isHTML(true);

$checkconn = fsockopen($mail->Host, $mail->Port, $errno, $errstr, 5);

if($_GET['formName'] == 'join')
{
    $text = 'Name: <b>' . $_POST['first_name_join']. " " .$_POST['last_name_join']. "</b>".
             "<br>Phone: <b>".$_POST['phone_join']. "</b>".
             "<br>Email: <b>".$_POST['email_join']. "</b>".
             "<br>Date of Birth: <b>".$_POST['birth_month']. "/" .$_POST['birth_day']. "/" .$_POST['birth_day']. "</b>".
             "<br>Message: <br><b>".$_POST['message_join']. "</b>";
}
else
{
    $text = 'Name: <b>' . $_POST['full_name_sponsor']. "</b>".
             "<br>Company/Organization: <b>" . $_POST['company_sponsor']. "</b>".
             "<br>Phone: <b>".$_POST['phone_sponsor']. "</b>".
             "<br>Email: <b>".$_POST['email_sponsor']. "</b>".
             "<br>Message: <br><b>".$_POST['message_sponsor']. "</b>";
}



$mail->Subject = $_GET['formName'] == 'join' ? 'Join Inquiry' : 'Sponsorship Inquiry' ;
$mail->Body    = $text;

if (!$checkconn)
{
    echo "($errno) $errstr\n\n";
}
if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}
需要'phpmailerautoad.php';
$mail=new PHPMailer();
$mail->isSMTP();
$mail->Host='smtp.example.com';
$mail->Port=465;
$mail->SMTPAuth=true;
$mail->Username=inquiry@example.com';
$mail->Password='Password';
$mail->SMTPSecure='ssl';
$mail->Frominquiry@example.com';
$mail->addAddress('example@gmail.com');
$mail->isHTML(true);
$checkconn=fsockopen($mail->Host,$mail->Port,$errno,$errstr,5);
如果($\u GET['formName']=='join')
{
$text='Name:'.$\u POST['first\u Name\u join'.'.$\u POST['last\u Name\u join'.]。
“
电话:“.$\u POST['Phone\u join']”。 “
电子邮件:“.$\u POST['Email\u join']”。 “
出生日期:“.$出生后['出生月']”.“/”$出生后['出生日]。“/”$出生后['出生日]。”。 “
消息:
”$\u POST['Message\u join']。”; } 其他的 { $text='Name:'.$\u POST['full\u Name\u prosor'.]。 “
公司/组织:“.$”职位[“公司/赞助商]”。 “
电话:”.$\u POST[“电话赞助商”]”。 “
电子邮件:“.$\u POST['Email\u赞助商].”。 “
消息:
”$\u POST['Message\u prosor']。”; } $mail->Subject=$\u GET['formName']=='join'?'加入查询:'赞助查询'; $mail->Body=$text; 如果(!$checkconn) { echo“($errno)$errstr\n\n”; } 如果(!$mail->send()){ echo“无法发送消息”; 回显“邮件错误:”。$mail->ErrorInfo; }否则{ 回音“消息已发送”; }

require_once'swiftmailer/swift_required.php';
//创建传输
$transport=Swift\u SmtpTransport::newInstance('smtp.example.com',587)
->setUsername('inquiry@example.com')
->设置密码(“密码”);
//使用创建的传输创建邮件程序
$mailer=Swift\u mailer::newInstance($transport);
如果($\u GET['formName']=='join')
{
$text='Name:'.$\u POST['first\u Name\u join'.'.$\u POST['last\u Name\u join'.]。
“
电话:“.$\u POST['Phone\u join']”。 “
电子邮件:“.$\u POST['Email\u join']”。 “
出生日期:“.$出生后['出生月']”.“/”$出生后['出生日]。“/”$出生后['出生日]。”。 “
消息:
”$\u POST['Message\u join']。”; } 其他的 { $text='Name:'.$\u POST['full\u Name\u prosor'.]。 “
公司/组织:“.$”职位[“公司/赞助商]”。 “
电话:”.$\u POST[“电话赞助商”]”。 “
电子邮件:“.$\u POST['Email\u赞助商].”。 “
消息:
”$\u POST['Message\u prosor']。”; } //创建消息 $subject=$\u GET['formName']=='join'?'加入查询:'赞助查询'; $message=Swift\u message::newInstance($subject) ->setFrom(数组('inquiry@example.com')) ->设置为(数组('example@gmail.com')) ->setBody($text,'text/html'); //发送消息 $result=$mailer->send($message);
在这种情况下,ISP可能会阻止SMTP。我知道我没有给出一个直接的解决方案。尝试其他服务通过API发送邮件不会有什么坏处,从而完全消除SMTP

我有很好的经验和经验。它们都有扩展文档和PHPSDKforAPI,也可以通过SMTP使用
祝您好运。

您是否尝试重新启动apache?我没有使用localhost。事实上,我已经将网站上传到了我的1和1服务器上。你应该尝试从服务器上的shell中删除PHP配置。在你发送此文件后的最后15个小时内进行搜索后,我决定使用Mailgun,它工作得完美无缺。我最终发现,2010年发生了一个PHP问题,
fsockopen
无法连接到smtp,而其他人在2012年遇到了这个问题。我尝试了gmail、1和1.com、godaddy、yahoo和live.com的smtp连接,但都超时了。以下是有关问题的链接(2010年)(2012年)
require_once 'swiftmailer/swift_required.php';


// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.com', 587)
    ->setUsername('inquiry@example.com')
    ->setPassword('password');


// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

if($_GET['formName'] == 'join')
{
    $text = 'Name: <b>' . $_POST['first_name_join']. " " .$_POST['last_name_join']. "</b>".
             "<br>Phone: <b>".$_POST['phone_join']. "</b>".
             "<br>Email: <b>".$_POST['email_join']. "</b>".
             "<br>Date of Birth: <b>".$_POST['birth_month']. "/" .$_POST['birth_day']. "/" .$_POST['birth_day']. "</b>".
             "<br>Message: <br><b>".$_POST['message_join']. "</b>";
}
else
{
    $text = 'Name: <b>' . $_POST['full_name_sponsor']. "</b>".
             "<br>Company/Organization: <b>" . $_POST['company_sponsor']. "</b>".
             "<br>Phone: <b>".$_POST['phone_sponsor']. "</b>".
             "<br>Email: <b>".$_POST['email_sponsor']. "</b>".
             "<br>Message: <br><b>".$_POST['message_sponsor']. "</b>";
}

// Create a message
$subject = $_GET['formName'] == 'join' ? 'Join Inquiry' : 'Sponsorship Inquiry' ;
$message = Swift_Message::newInstance($subject)
  ->setFrom(array('inquiry@example.com'))
  ->setTo(array('example@gmail.com')) 
  ->setBody($text, 'text/html');

// Send the message
$result = $mailer->send($message);