https上的mail()

https上的mail(),https,php,Https,Php,我设置了一个使用PHP mail()的网站。如果我点击http://上的脚本,我可以让它成功运行,但是如果我切换到https://它就不工作了!我使用Godaddy作为主机,并通过他们购买了证书。我不确定是否需要在php.ini文件中设置任何内容。我的邮件脚本如下所示: $from_respondent_email = "calendar@mydomain.com" ; $headers_respondent_email = "From: $from_respondent_email"; $s

我设置了一个使用PHP mail()的网站。如果我点击http://上的脚本,我可以让它成功运行,但是如果我切换到https://它就不工作了!我使用Godaddy作为主机,并通过他们购买了证书。我不确定是否需要在php.ini文件中设置任何内容。我的邮件脚本如下所示:

$from_respondent_email = "calendar@mydomain.com" ;
$headers_respondent_email = "From: $from_respondent_email"; 
$subject_respondent_email = "Technical Support Request"; 
$body_respondent_email = "We received a support ticket from mydomain.com:\n\n"; 
$body_respondent_email .= "Test block of text"; 
$send = mail("myname@gmail.com", $subject_respondent_email, $body_respondent_email, $headers_respondent_email); 

试试这个。会有用的。我在我的网站和它的工作中使用了这个:)

定义“它不工作”。没有错误?您确定https指向与http相同的vhost设置吗?只是一个提示,不要使用
mail()
。几乎每个提供商都会触发它并将其发送到垃圾邮件文件夹。请尝试使用第三方SMTP库发送邮件,就像入站协议和PHP mail()函数的操作之间没有链接一样。这不是你要找的问题。现在继续…电子邮件脚本的链接是相对链接,当您使用https上的电子邮件表单时。或者是指向http而不是https://不确定这是否会产生影响,尽管这与我所做的唯一区别是首先将我的to作为变量。我已经试着做了这个改变,但没有什么不同。同样,当我在使用http://的站点上时,电子邮件会毫无问题地发送。我每次都会收到电子邮件。我所做的就是切换到https://然后我就什么也收不到了。没有意义。检查你的垃圾邮件或垃圾邮件文件夹,你的电子邮件就会在那里:)
$to ="myname@gmail.com";
$subject = "Technical Support Request";
$message = "We received a support ticket from mydomain.com:\n\n";
$from = "calendar@mydomain.com";
$headers = "From: $from_respondent_email";
mail($to,$subject,$message,$headers);