3

I'm migrating our emails from one hosted exchange provider to another. How can I create addresses that simply forward to another (external) address but don't have a mailbox of their own?

Rory
  • 482
  • 5
  • 12
  • 22

2 Answers2

4

If you want emails to an O365 organization forwarded to another, use a MailContact as outlined in Step 2 here: http://community.office365.com/en-us/wikis/exchange/how-to-forward-email-in-office-365.aspx

The gist of it:

$recAddress = "recipient@company.com"
$forwardToAddress = "recipient@newcompany.com"
$recipientName = "John The Moved User"

New-MailContact $recipientName –ExternalEmailAddress $forwardToAddress
$mailContact = Get-MailContact MailContactName
$mailContact.EmailAddresses.Add($recAddress)
Get-MailContact MailContactName | Set-MailContact -EmailAddresses $mailContact.EmailAddresses

Where $recAddress is the recipient specified in the email, $forwardToAddress is the address the email is forwarded to, and $recipientName is the name to use for the contact object.

Mathias R. Jessen
  • 25,161
  • 4
  • 63
  • 95
  • Thanks! Looks like a Mail Contact is better suited than a Shared mailbox, which was my first solution. – Rory May 25 '13 at 21:01
  • Yeah, there is more than one solution to this, but for a temporary solution during migration I would take a list of migrated users in a CSV format or the likes, and script my way out of it with Mail Contacts :-) A MailContact is just a single AD object, whereas mailboxes take up storage and more processing time – Mathias R. Jessen May 25 '13 at 21:04
  • 1
    Great, I've used your solution. I do find the `$x.EmailAddresses.Add(y)` syntax quite deceptive since it's only modifying a temporary collection, so I quite like the alternate `Get-Mailbox -Identity MailContactName | Set-Mailbox -EmailAddresses @{Add="an.address@example.com", "another.address@example.com"}` – Rory May 25 '13 at 21:16
  • 1
    And for anyone who hasn't previously set up powershell to connect to exchange, here's the instructions: http://help.outlook.com/en-us/140/cc952755.aspx – Rory May 25 '13 at 21:18
  • Great, I've used your solution. I do find the $x.EmailAddresses.Add(y) syntax quite deceptive since it's only modifying a temporary collection, so I quite like the alternate Get-MailContact -Identity $recipientName | Set-MailContact -EmailAddresses @{Add="an.address@example.com", "another.address@example.com"} – Rory Jun 11 '13 at 14:27
-1

What you want is called an alias email. http://www.mamut.com/uk/support/search/faq.asp?lcid=2057&id=02024937

Yannovitch
  • 309
  • 1
  • 8
  • 1
    Whilst this may theoretically answer the question, [it would be preferable](http://meta.stackexchange.com/q/8259) to include the essential parts of the answer here, and provide the link for reference. – Scott Pack May 25 '13 at 21:32
  • I can see this option only as adding new addresses to an old mailbox in the system. – Antti Rytsölä Jul 24 '15 at 06:37
  • Now that the link is dead, the answer is worthless. Should have copied the text while it was available. – HackSlash Feb 09 '21 at 20:44