[英]I am trying to send an email to myself when an error happens from filling out the php form
[英]I am trying to send email from cPanel using codeigniter but every time I get the error saying connection time out
我已使用以下代码发送电子邮件。
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.sendgrid.net',
'smtp_user' => 'username',
'smtp_pass' => 'password',
'smtp_port' => 587,
'crlf' => "\r\n",
'newline' => "\r\n",
'mailtype' => "html"
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from($email);
$this->email->to($to);
$this->email->subject($subject);
$this->email->message($message);
这段代码在我的本地主机上运行良好,但是每次我从cPanel运行此代码时,都会收到错误提示。
错误:
A PHP Error was encountered
Severity: Warning
Message: fsockopen() [function.fsockopen]: unable to connect to smtp.sendgrid.net:587 (Connection timed out)
Filename: libraries/Email.php
Line Number: 1689
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fgets(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1869
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fgets(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1869
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fgets(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1869
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fgets(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1869
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fwrite(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1846
A PHP Error was encountered
Severity: Warning
Message: fgets(): supplied argument is not a valid stream resource
Filename: libraries/Email.php
Line Number: 1869
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home3/pinesof1/public_html/flyannapurna.com/system/core/Exceptions.php:185)
Filename: helpers/url_helper.php
Line Number: 542
谁能告诉我该怎么办?
尝试将“最大执行时间”设置为更大的数字,然后查看是否适合您。
<?php
ini_set('max_execution_time', 108000);
?>
要么
您可以更改您的php.ini文件
我不知道什么不适用于您的代码,但是可以肯定,有一个最简单的解决方案应该每次都可以使用,我使用它:
$to = "yourTarget@someDomain.com";
$subject = "Your subject";
$message = "<html><body>Your message</body></html>";
$headers = "MIME-Version: 1.0" ."\r\n"
."From: theMailYouWantToUse@domain.com" ."\r\n"
."Content-type:text/html;charset=UTF-8" ."\r\n"
."Reply: reply@yourDomain.com" ."\r\n"
."X-Mailer: PHP/" .phpversion();
$mail_success = mail($to,$subject,$message,$headers);
注意 :您需要所有这些标头,否则邮件将变为垃圾邮件。
我认为最好在邮件中包含一个文件,并且经常需要修改一些内容。 发送前只需使用以下代码:
$message = file_get_contents("file.html");
$message = str_replace("%param1%",$param1,$message);
$message = str_replace("%param2%",$param2,$message);
第一个错误Message: fsockopen() [function.fsockopen]: unable to connect to smtp.sendgrid.net:587 (Connection timed out)
说明了您的许多问题。 这意味着您无法访问端口587。 可能由于以下几个原因而发生:
据我所见,在smtp.sendgrid.net上为我打开了587端口以及25端口。 也尝试25端口,看看是否有相同的问题。 如果仍然出现此错误,请让托管公司或系统管理员检查服务器防火墙的587端口。 您也可以尝试通过telnet <DOMAIN_NAME> <PORT_NUMBER>
来查看是否可以从服务器连接到特定端口,这可能对查找导致此错误的答案有很大帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.