我目前正在处理今天在我的服务器上发现的一个问题,我正在失去理智,我在谷歌上搜索了很多关于这个问题的信息,但找不到解决我的问题的正确方法。这是目前的状态:我前几天买了一个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
- 1 回答
- 0 关注
- 61 浏览
添加回答
举报
0/150
提交
取消