我目前正在处理今天在我的服务器上发现的一个问题,我正在失去理智,我在谷歌上搜索了很多关于这个问题的信息,但找不到解决我的问题的正确方法。
这是目前的状态:我前几天买了一个rootserver,我在服务器上安装了apache2、mysql和php。服务器拥有一个简单的网站,您可以在那里注册您的帐户。要注册您的帐户,您需要确认您的电子邮件地址,问题是并非我所有的朋友都会收到电子邮件。我使用一个 gmail 帐户来接收电子邮件并且它有效,我在垃圾邮件上测试它并且它也有效。我的朋友使用 gmx.net 接收电子邮件,但我的服务器无法向他们发送邮件。服务器很新,我只安装了 LAMP 包来运行我的网站。
我还没有设置任何服务来接收电子邮件。我用看起来像这样的 PHP 脚本发送电子邮件
// Recipient
$to = $reciever;
// Sender
$from = 'noreply@MYWEBSITEURL.de';
$fromName = 'MYWEBSITENAME';
// Email subject
$subject = 'Bestätigen sie ihren Account auf MYWEBSITENAME';
// Attachment file
$file = "./MY_ATTACHMENT.pdf";
// Email body content
$htmlContent = '
SOME FANCY HTML CODE THAT I DONT WANT TO POST HERE
';
// Header for sender info
$headers = "From: $fromName"." <".$from.">";
// Boundary
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Headers for attachment
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
// Multipart boundary
$message = "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"UTF-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" . $htmlContent . "\n\n";
// Preparing attachment
if(!empty($file) > 0){
if(is_file($file)){
$message .= "--{$mime_boundary}\n";
$fp = @fopen($file,"rb");
$data = @fread($fp,filesize($file));
@fclose($fp);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\n" .
"Content-Description: ".basename($file)."\n" .
"Content-Disposition: attachment;\n" . " filename=\"".basename($file)."\"; size=".filesize($file).";\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
}
这适用于 gmail.com 但不适用于 gmx.net 或 web.de
吃鸡游戏