1<?php 2/* vim:se ts=2 sw=2 et: */ 3require 'functions.inc'; 4 5head("Why was my email rejected?"); 6?> 7<h1>Why was my email rejected?</h1> 8 9<p> 10This page explains why a message that you sent was not accepted through the 11PHP.net mail servers. 12</p> 13 14<?php 15 16/* Explains why a message was rejected */ 17$why = (isset($_GET['why']) ? (string) $_GET['why'] : ''); 18 19switch ($why) { 20 case 'SURBL': 21?> 22<p> 23We employ a <a href="http://www.surbl.org">Spam URI Realtime Blocklist (SURBL)</a> which allows us to block messages that contain spam domains inside the message bodies. The rationale is that if a message references a spammer domain, then it is quite likely to be spam. 24</p> 25 26<b>What can I do to get my my message through?</b> 27<p> 28The quickest way is to edit your message so that the URLs are not "clickable"; 29in other words, remove the <tt>http://</tt> prefix from the front, or remove or 30disguise the <tt>www</tt> prefix. For example, if <tt>www.example.com</tt> is on a block list: 31</p> 32<dl> 33<dt>http://www.example.com</dt> 34<dd>would be blocked</dd> 35<dt>www.example.com</dt> 36<dd>would be blocked</dd> 37<dt>www dot example.com</dt> 38<dd>would be allowed through</dd> 39</dl> 40 41<p> 42If it is <i>your</i> site that is being blocked, then it is <i>your</i> 43responsibility as a good netizen to <a href="#remove">get your site removed from the block list</a>. 44</p> 45 46<p> 47If you find that a lot of your messages are consistently being blocked by 48SURBL, and that the cause of the blockage is not a site under your control, 49then you may contact systems@php.net to see if there is a more convenient 50resolution. 51</p> 52 53<?php 54 break; 55 case 'XBL': 56?> 57<p> 58We use the <a href="http://www.spamhaus.org/xbl/index.lasso">Spamhaus Exploits 59Block List</a>, a realtime database of exploited or trojanned machines, to 60block mail that is quite likely to contain either spam or virus infected 61messages. 62</p> 63 64<p> 65Your message was blocked either because your computer, or one of the mail servers that your message was routed through is on the XBL. 66</p> 67 68<b>How do I get my message through?</b> 69 70<p> 71You need to get your computer(s) off the XBL. Make sure that you are virus/trojan free, and make sure that if you're running your own mail servers that you are not running an open relay. Then <a href="#remove">check if you are on a block list</a>. 72</p> 73 74<p> 75If you are virus free but have picked up a dynamic IP address that was previous 76used by someone with an infected computer, you're probably out of luck; if you 77can, try disconnecting from the internet and dialling up again to get issued a 78new IP. If you find that you are consistently blocked in this way, contact 79your ISP. 80</p> 81 82<p> 83If it is your ISP's mail server that is blocked, contact your ISP. If their 84mail server is consistently blocked, you should consider moving to a different 85provider. 86</p> 87 88<?php 89 break; 90 case 'blacklist': 91?> 92<p> 93You're on our black list. It is very rare for us to list someone on our own black list, so it must have been for a very very very good reason. 94</p> 95 96<b>How do I get off the blacklist?</b> 97 98<p> 99You need to be resourceful enough to contact someone on our systems team. You 100won't be able to mail us directly (because you are blacklisted). You will need 101to use an alternative email address or ask someone to contact us on your 102behalf. 103</p> 104 105<?php 106 /* TODO: more reasons to go here */ 107 break; 108} 109?> 110 111<b>How do I check if I'm on a block list?</b> 112 113<p> 114You may check your IP's using <a href="https://www.spamhaus.org/lookup/">this form, provided by Spamhaus</a> 115<!-- 116XXX: Commented out as Rules Emporium seems to no longer be functioning 117, or check a wider range of block lists (only some of which are employed by our servers) using the <a href="http://www.rulesemporium.com/cgi-bin/uribl.cgi">Rules Emporium URI Block list checker</a> 118--> 119</p> 120<p> 121The Spamhaus query page provides you with instructions on how to request removal. 122</p> 123 124<?php 125foot(); 126?> 127