How does Greylisting work?


Greylisting is an anti-spamming technique. This is done by a Mail Transfer Agent (MTA) or simply an email server. It is an effective method against email spamming. As the name indicates,  greylisting stands between whitelisting and blacklisting. Suppose you are adopting the exim as your MTA and you are using greylisting in it to prevent the spamming. Now, your MTA will reject any email from an unrecognized sender. This rejection will be temporary. The server will then wait for a predefined time period to see if the rejected email is resent. Suppose the email was a legitimate email, then the email will be resent by the sending server after a time period. This waiting time of the rejecting server will be enough to receive the resent email. If it is received again within the time period, then the server will deliver it to the recipient. Then the sending email will not try to resend it, so that your MTA will wait for the predefined time and will not get the email again.

How does the greylisting work

As we’ve seen earlier, greylisting enabled server will reject the emails from any unknown or suspected email senders. The MTA will keep a record of three pieces of data as follows.

1) The IP address

2) The envelope sender address

3) The envelope recipient address

These three pieces of data is known as the “triplet”. The three technical terms are described below. To understand this better you need to have an idea on how the email is being sent. The emails are sent using the SMTP protocol on Internet. In this protocol, the emails are sent in units called envelopes. When an email is sent, first the address of the envelope sender is sent, then the recipient address and finally, the actual message. It will consist of the header and body of the email message.

IP address: The IP address of the sending MTA.

The envelope sender address: There are two type of addresses in respect to sending an email. They are the Envelope sender and the from addresses. The first one is mentioned here. It is the email address where the computer will respond to the email in the case of an error or a bounce back. The second one will be the address to which the human will respond. In most cases, the two will be same, but there can be a chance where the two are different.

The envelope recipient address: Like the envelope sender address, there is also envelope recipient address. The envelope receiver address can’t be spoofed. It is unable to display this address for users.

The triplet contains these three data parts. The triplet is registered in the internal database of the email server. The time when the email reached will also be stored there. Now what the email server does is it rejects the email with a temporary error. These errors are defined in the SMTP protocol as 4XX codes. Most of the spams will be sent not using the RFC compliant MTA. They will not try to send back these emails where the fully qualified SMTP implementations are expected to send these emails after a short delay.  The spamming email server will not send them back and that’s how spamming is prevented with the greylisting. The waiting time can be as short as some minutes or a couple of hours. If the sending server is allowed to send the email within this expected time, the server is identified as non-spam source and it will be whitelisted for a longer time. Once a server is whitelisted, the MTA will trust and will not interrupt future messages as long as the server is white-listed on it.

Greylisting can be turned off on the cPanel, but might result in receiving more Spam or Junk Emails.

If you need any further assistance please contact me.

Brexit and Online Dispute Resolution


Important information regarding cases involving UK users

On 29 March 2019, the United Kingdom will withdraw from the European Union. In the event that no withdrawal agreement will be in place on that date (so-called “no deal-Brexit”), the UK’s withdrawal will have the following impact on the use of the European ODR platform:

After 29 March 2019

  • Consumers resident in the UK will no longer be able to submit a new complaint on the ODR platform. They will also not be able to act on any ongoing cases in the platform, whether to send it to a dispute resolution body, contact a UK ODR advisor, or receive an outcome.
  • Consumers resident in the EU or Norway, Iceland or Liechtenstein will no longer be able to use the ODR platform to complain about a UK trader or send their case to a UK dispute resolution body.
  • Traders established in the UK will no longer be able to access their ODR dashboard.
  • Traders established in the EU or Norway, Iceland or Liechtenstein will not be able to act on any ongoing cases concerning UK consumers in the platform or suggest UK dispute resolution bodies.
  • All users can no longer export any relevant complaint data concerning UK consumers or traders from their dashboard. Users have the possibility to export relevant complaint data before 29 March 2019.
  • All users will not be able to contact the UK ODR advisor. Please contact them before 29 March 2019.

For further information, please contact your national ODR advisor.

GDPR and Google Analytics

gdpr and google analytics

One aspect of the GDPR is that its no longer allowed to track Google Analytics on a per IP basis (which is what it does by default).
One solution is to “anonimize” the IP before its sends it to their (Google’s) servers. To comply with this you can adjust the built-in Analytics feature ; all IPs will be anonimized per these instructions; https://developers.google.com/…/analyticsjs/ip-anonymization) .
If you are concerned about Privacy or your GDPR Status and need Help with implementing this please get in touch.

Difference between Server Side Caching and Browser Caching.

We probably all know how to clear a Browser Cache to view the latest updated Version of a Webpage. This is something we can do locally on our Computer or Laptop. But Servers also cache Pages sometimes and I have seen instances where the Server or Provider has not cleared cache for a couple of days.

So what is the difference between Server and Browser Cache?

Browser Side Caching: Your web browser (Chrome, Firefox, Safari, or whatever you use) decides to remember how a webpage looks like so it doesn’t have to ask the server to send the webpage again. This saves time (and bandwidth) by eliminating almost the entire network communication. However, if the server decides to change the way the webpage looks like, you’re in trouble because the browser’s “memory” of how it thinks the page should look like is now out of date, and it’ll give you an old version of the page instead of the new one. This is why people sometimes tell you to “clear your browser cache”– that forces your browser to “forget” what the page looks like. This forces it to ask the server for the new, updated version of the page.

Server Side Caching: The server responsible for generating the webpage (i.e. putting the webpage together), decides to remember how the webpage looks like, so it doesn’t have to generate it again. This saves time (but not bandwidth) because now the server doesn’t have to go through the trouble of constructing a whole page– it can just re-send whatever it sent last time the browser asked for it. However, if any data on the webpage needs to change, the server is forced to throw away its “memory” of what the page looks like, and it will need to generate the page again. This kind of caching is useful if the page is really complex and takes a lot of time to generate

Mailbox Full? / POP3 vs.IMAP Email Setup

POP3 vs. IMAP Email Setup

If you use an email app (such as Outlook or Apple Mail), you’ve probably seen these acronyms before.  If you’ve previously used other email services like GMAIL or MOBILE ME, your email client may have simply set up your accounts automatically, and you may not have had to think about which set up was right for you.

Most of the hosted email accounts (including the ones I set up for you) can be set up either way though. So it might make sense to decide whether POP3 or IMAP is best for how you use email.

Once you understand the difference between POP and IMAP, it can actually revolutionize the way you use email—and it can help turn your Inbox into an effective productivity tool.

More and more mobile devices and updated versions of email clients are defaulting to an IMAP set up when doing an “Automatic” set up, so it’s good to understand what IMAP is, before you get locked into that set up, as it may not be the best set up for your email behavior, especially on our servers.

Let’s break it down . . .

When someone sends you an email, it’s stored on your website’s server. You can access this new email one of two ways:

1) POP – Using your email app (Outlook, Apple Mail, etc.), you can download your email to your computer, and then delete it from the server.


+ You don’t need to worry about running out of online storage space. Since you’re downloading your emails to your computer, you can keep as many emails as your computer can store.

+ You will need an Internet connection to download email, but you can manage (ie: search your inbox, and folders) your downloaded email offline (i.e., without an Internet connection).


– Since your email is stored on your computer, you must be at that computer to manage your email. This prevents you from managing email on-the-road or from your mobile device. (Although you can set your email client (Outlook or Apple Mail) to NOT DELETE email off the server for a certain period of time, if you plan to travel, or do check your email from multiple devices, thus enabling you to get your email on each device.  It just requires checking the server with all the devices in a regular manner.

– You will need to implement an effective backup system for your computer, in case you need to retrieve lost or deleted emails.

Is POP the best productivity choice for you?

If you always access your email from one computer, and you have limited online storage capacity or use a dial-up connection, POP is probably best for you. It will save you the hassle of worrying about online storage limits or poor connection speeds. Just be sure you back up your computer regularly.

* By default, POP will download and then delete all email in your mail server’s Inbox; however, most email apps will give you the option of keeping email on the mail server, if you prefer. This way you could check your email using our webmail application, Squirrel Mail, from another location.  You could also download emails using a mobile device.

IMAP – Using your email app (Outlook, etc.), you can manage your email directly on the mail server, rather than downloading it to your computer.


+ Since the emails are stored on the mail server, you can access and manage your email and email folders from multiple computers or mobile devices.

+ Email is automatically backed up; so, if you accidentally delete an email, your email administrator can retrieve it.


As your email mailboxes do not have unlimited online storage space, you will need to delete emails periodically to avoid exceeding your storage capacity.  If you want to SAVE the emails, you can  simply “move” the emails from your InBox on the Server to your “Personal” folders on your “local” computer.

– If your Internet connection becomes unavailable, you cannot access your email offline.

Is IMAP the best productivity choice for you?

If you need to access your email and email folders from multiple computers and/or a mobile device, IMAP is best for you. Your email will be centrally located on the mail server, so you can access it directly from any Internet connection.

* By default, email apps store your sent, draft, and trash email on your computer, rather than storing it on the email server (as it should with an IMAP connection); however, most apps give you the option of using your online Sent, Drafts, and Trash folders instead.

Regardless of whether you choose POP or IMAP, you can continue to use your favorite email app—such as Outlook, Thunderbird, Apple Mail, etc.

We generally encourage our clients to set up their email clients, and mobile devices, using POP3, as our servers, while very reliable, are not infinitely large.  POP3 makes it easy for users to manage the size of their inboxes on the server (thus allowing the user to continue to receive email uninterrupted), because email clients can be set to automatically delete email off the server after a set number of days.  This usually is the best scenario, because then the user doesn’t have to remember to move email manually from the INBOX down to local servers.

POP3 set up is especially useful to those clients who don’t want to incur the extra cost of extra Cloud storage, or for a hosted exchange set up (also cloud based). With a POP3 setup, users can set their email client to leave email up on our servers, and thus still check their email from multiple mobile devices (smart phones, tablets), (without having to use the IMAP set up), and easily download and archive their email to one (or many) local harddrives.  This makes it very easy for users to archive gigabytes of email for professional reasons, which would cost much more under a cloud storage or Hosted Exchange framework.

IMAP is really only best for people with guaranteed Internet access at all times, and who never need to access old email stored locally when out of Internet reach.
Here is a YouTube Video Clip explaining it all.

And users can always access email directly from the email server via our webmail applications, Squirrel Mail, Horde or SmarterMail. (they all do the same thing, allowing you to access or view your emails online but differ in layout.)

WordPress 4.4.1 Admin Login Issues

Did your WordPress Website Auto Update to 4.4.1 and you have a wp-admin Loop or Re Direct Issue?
Ask your Hosting Provider to disable ModSecurity Rules #214620 & #214940.
This worked for me.If you do not have access to disable the Rules yourself you can test this by disabling ModSecurity completely (temporarily and not really recommended).If your Login redirect or loop issue is gone, then that is the Issue. Enable ModSecurity again and ask your Hosting Provider to just dis able those two Rules.

Is Google slowing your Site Down?

google tool pagespeed insights

Is Google Slowing your Website down?

How do you leverage browser cache for Google analytics. Since Google added page load times to its ranking system It is ironic that the google analytic code should slow your site down.
Use this safe Google Tool to test your Site for Speed and then read below for some solutions.

Contact me if you need some help.

The short answer is to host it on your own server and download the latest script from Google daily. This way you get to cache the java script as well as cache it,

Google Analytics can be tamed

Here is a step by steip process:

First you need the Google analytics code which you can get by typing google-analytics.com/ga.js This is quite a large script and you can see WHY it slows your site down right away.

Secondly you will need to create a file on your hosting account, create the file in the root folder of your domain.Call it whatever you like as long as it ends with .js
I just called it ga.js

Next, copy all that information from the Google analytics code, just press (control A) and save it inside the file you just created on your hosting account. You can do that via FTP or through Cpanel, Godaddy file manager and whatever other set up hosting companies use.

So that’s the first part out of the way, whats next…

Now that we have the script on our hosting account, we need to make sure it works.

Grab you Google analytics script which would look like this:

<script type="text/javascript">
  var _gaq = _gaq ¦¦ [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

Look near the bottom where it says ‘.google-analytics.com/ga.js’; change it to yourdomain.com/ga.js or whatever you called your script. Then it would look something like this

<script type="text/javascript">
  var _gaq = _gaq ¦¦ [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-X']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.diywpblog.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

Refresh your page when complete and right click to view you source and scroll to your google analytics code to make sure it is there. Also enter your google analytics code in to your browser and it should load the same content as the analytics link above.

How do we update the script

There are two options here, the first is you could copy the google analytics script by typing in google-analytics.com/ga.js and copy its content each day to make sure your up to date, or we can employ the powers of cron.

What is cron?

Cron is in simple terms a way of executing commands or scripts on a daily, weekly, monthly, yearly basics to perform automated tasks. What we want to do is set up an automated task to download Google analytics java script each day to make sure it is up to date.

Create another file and call it something like ga-cron.php and save it to the same place you saved the Google analytics code which should be your root folder. Then copy this code in to the folder and save. You will only need to make one change, Where is says Insert absolute path to the file here.

Usually the absolute path can be found on your dashboard but to quickly find it if its not clearly stated is to enter your domain in to that line followed by the ga.js or whatever name you used for you Google analytics script. Then run this script by typing in your browser, http://Your-domain-name.com/ga-cron.php When you do this the script will execute, but there will be errors, one of them will be about using http. Copy the bold error because that contains your absolute path and change it as necessary.

Once you can run the script with out error then your good to move on to the final part.

Note: for the ga.js file make it writable.

// script to update local version of Google analytics script

// Remote file to download
$remoteFile = 'http://www.google-analytics.com/ga.js';
//For Cpanel it will be /home/USERNAME/public_html/ga.js

// Connection time out
$connTimeout = 10;
$url = parse_url($remoteFile);
$host = $url['host'];
$path = isset($url['path']) ? $url['path'] : '/';

if (isset($url['query'])) {
  $path .= '?' . $url['query'];

$port = isset($url['port']) ? $url['port'] : '80';
$fp = @fsockopen($host, '80', $errno, $errstr, $connTimeout );
  // On connection failure return the cached file (if it exist)
} else {
  // Send the header information
  $header = "GET $path HTTP/1.0\r\n";
  $header .= "Host: $host\r\n";
  $header .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070725 Firefox/\r\n";
  $header .= "Accept: */*\r\n";
  $header .= "Accept-Language: en-us,en;q=0.5\r\n";
  $header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
  $header .= "Keep-Alive: 300\r\n";
  $header .= "Connection: keep-alive\r\n";
  $header .= "Referer: http://$host\r\n\r\n";
  fputs($fp, $header);
  $response = '';

  // Get the response from the remote server
  while($line = fread($fp, 4096)){
    $response .= $line;

  // Close the connection
  fclose( $fp );

  // Remove the headers
  $pos = strpos($response, "\r\n\r\n");
  $response = substr($response, $pos + 4);

  // Return the processed response
  echo $response;

  // Save the response to the local file
    // Try to create the file, if doesn't exist
    fopen($localfile, 'w');

  if(is_writable($localfile)) {
    if($fp = fopen($localfile, 'w')){
      fwrite($fp, $response);

Finally we need to set up the cron

The cron is simply gonna execute the php code above.

For Godaddy you can do this by going to content—> cron job manager.

Select create cron: give it a name: select update frequency.

I set mine to every hour, but you can do it once a day or once a week, its up to you.

Where it says command, don’t type anything in there, just select browse and select the php file you created then save.


For Cpanel select cron jobs.

Select common settings to set a frequency.

Then you need to type the command which should be something like

php /home/username/public_html/ga-cron.php

Fill in the appropriate information.

General points

I would run the cron at 5 minute intervals at first and check the modification time of the Google script which you have on your server, if it changes by itself then you are good to go.

Add your Business to Google Places

If you are a business owner with a website and a brick & mortar shop with a physical location, you can increase your Google visibility for free by adding your business to Google Places.
Google Places is simply Google’s method of allowing companies to register information about their physical shop. Google then uses this information in a variety of ways to boost your business’s online presence. Here are some examples:

  • A search on Google for “Cyprus Real Estate.” Notice the map and the local real estate agencies that list next to it — these are businesses that have added their info to Google Places.
  • A search for “Toys” on Google Product Search. Depending on your physical location, you will often see “X nearby” near the price of some products. This informs users about locally available products via Google Places information.
  • A search for “protaras water sports” on Google Services Search. Depending on your physical location, Google will list Service Industries near you.
  • Many other places within the Google properties

If you do not have the technical know-how nor the time or inclination to add your business to Google Places yourself we can add your business to Google Places for a one-time LOW fee (Request Quote). However, instructions on how to add it yourself, for free, are below.

  1. Ideally, be in a location where you are able to answer your main business phone number (will be used for verification).
  2. Visit this website: www.google.com/local/add/businessCenter
  3. Sign in with a google account. If you don’t have one, you can create a google account for free.
  4. Enter your country and phone number and click “Find business information.”
  5. You may find that your business is already listed. If so, simply click edit and you can continue.
  6. Now either fill out, or verify, all of the information regarding your business on the page.
  7. The more information you specify, the better.
  8. At a minimum, fill out the “Basic Information” section as completely as possible.
  9. Near the bottom of the “Basic Information” area you will want to add as many categories as you can think of (5 max). As you type the category, Google will suggest what to use. You should go with Google’s suggestion if possible as this will be more standard. Then click “add another category” to add up to five. For example, if you sell outdoor gear, you might have categories set to:
    • “Outdoor Sports Store”
    • “Sporting Goods Store”
    • “Camping Store”
  10. Continue filling out information including your store hours and payment options. You should also upload an image of your storefront and an image of your logo as well. If you’re feeling ambitious, you can even upload a video that talks about your business and/or products.
  11. Finally, you should add as many “Additional Details” as you can. Specifics on this section can be found here. If you sell outdoor gear, you might have your Additional Details set as follows:
    • Parking availability: Free, Street
    • Brands: North Face, Patagonia, …
    • Services: Sales, Repairs
  12. Finally click Submit, and validate your listing. If you are able to answer your main business phone choose the “By phone” option and expect a verification call shortly. If you are not near your business phone, choose the by “By postcard” option. For either method, Google will provide you with a PIN (by phone, or by mail). Write this number down and enter it in your Google Places account.

Congratulations, your Google Places account is now setup. This should provide you with an extra traffic boost for both your physical and virtual stores.

Having trouble? We can put your business on Google Places for a one-time LOW fee. Please request a NO OBLIGATION QUOTE for more details or to get started today!
Request Quote


By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.