You can do this. It is actually called a 'catch-all mailbox'.
What you will do is create a new mailbox, then create the rules you want to foward to this mailbox on your hub transport server.
More details here... http://technet.microsoft.com/en-us/library/bb691132(v=exchg.80).aspx
There are a lot of rules you can use to forward messages as you need on the hub transport server in your Exchange manager.
It is also possible that what you are looking for is just to create your address@domain.com mailbox and create aliases for the other email addresses to send into this same mailbox.
You can use LIKE operator:
SELECT * FROM [Addressbook] a WHERE EmailAddress LIKE 'a.b.builder@real%';
You can only pass a string value to a second parameter in . I don't think there is a way of bypassing this without compromising performance in the first place.CONTAINS
So if you pass a it will take the whole string value as condition:wildcard
SELECT * FROM [Addressbook] a WHERE CONTAINS([a].*, 'a.b.builder@real*')
You can see a link hire for functions that you can use on strings link. The only way i can see that you can solve this is by writing some sort of LIKE function yourself then passing the value that is return'd in to a CONTAINS. But that will make your performance even worse than just using a LIKE operator.
SQL Fiddle
Yes, it is. Basically, you need to edit three config files:
/etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
/etc/postfix/virtual
@example.com example
/etc/aliases
example: "|/path/to/the/script"
For more information, have a look at the Postfix Virtual Domain Hosting Howto
I assume that you have tried out the wildcard query as described here.
However, it has very different behaviour if your email is analyzed versus not analyzed. I would suggest you delete your index and change your mapping. e.g.
PUT /emails
{
"mappings": {
"email": {
"properties": {
"email": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
Once you have this, you can just do the normal wildcard query or query_string. e.g.
GET emails/_search
{
"query": {
"wildcard": {
"email": {
"value": "s*com"
}
}
}
}
As an aside, when you just index email without setting it as not_analyzed, the default mapping actually splits up the email prefix from the domain and so that's why you don't get results for when you do s*@gmail.com. You would still get results for s* or *gmail.com but for your case, using not_analyzed works correctly. If you want to support case insensitivity, then you might want to look at a custom analyzer that uses the uax_url_email tokenizer as described here.