How to extract domain name from an e-mail address string

Posted on September 5, 2008, under PHP 

If, for any reason, you need to extract the domain from an e-mail address (or from multiple e-mail address that are in a database) then you can use this function:

function getDomainFromEmail($email)
// Get the data after the @ sign
$domain = substr(strrchr($email, "@"), 1);

return $domain;

// Example

$email = '';

$domain = getDomainFromEmail($email);

echo $domain; //

Comment via Facebook


2 Replies to "How to extract domain name from an e-mail address string"

  1. This function returns all domain name after @ sign. I need only domain name like “yahoo” or “gmail” or “tcs” or “ibm” etc. for emails like “”.

  2. Thanks a lot for such a good and simple function

Leave a Reply

* = required fields

  (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Note: If you want to post CODE Snippets, please make them postable first!
(e.g. <br /> should be converted to &lt;br /&gt;)


  • The comment must be relevant with the topic of the post.
  • Only comments with real email addresses will get approved. So, emails like '' will not be accepted.
  • Do not post the same message in multiple articles through the site.
  • Do not post advertisements, junk mail or pyramid schemes.
  • In case you post a link to another site, please explain briefly where the link goes as a courtesy to other users.
  • Do not post comments such as: "Thank you", "Awesome", "Nice tutorial", "Merci", etc.