Tuesday, November 23, 2010

Received Error: 452 4.4.2 Mailbox Full Microsoft SMTP Virtual Server (Server 2008r2)

Emails were bouncing back to a sharepoint list of mine. After further digging I found out there is a little switch in the smtp server setup that puts a quote on a mailbox. I recommend removing this for anyone accepting email into email enabled lists in sharepoint.

Here was the message I was receiving from my exchange server (which forward mail addressed to @sharepoint.seegrid.company to the sharepoint smtp server):

Delivery is delayed to these recipients or groups:

fieldstatus@sharepoint.seegrid.company (fieldstatus@sharepoint.seegrid.company)

Subject: FW: test

This message hasn't been delivered yet. Delivery will continue to be attempted.

The server will keep trying to deliver this message for the next 1 days, 19 hours and 59 minutes. You'll be notified if the message can't be delivered by that time.


So I telnetted to the sharepoint server running the built in Microsoft SMTP Server that comes with Windows Server 2008 R2 and go the following error:

220 sharepoint.seegrid.company Microsoft ESMTP MAIL Service, Version: 7.5.7600.1
6544 ready at Tue, 23 Nov 2010 14:42:17 -0500
ehlo
250-sharepoint.seegrid.company Hello [192.168.10.89]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250 OK
mail from: bfisk@seegrid.com
250 2.1.0 bfisk@seegrid.com....Sender OK
rcpt to: fieldstatus@sharepoint.seegrid.company
452 4.2.2 Mailbox full

After searching around I found the following at: http://www.dawkco.com/software/support/sir200212191418.txt

Disable the SMTP Drop Directory Quota setting
=============================================
1. Open Internet Services Manager
a. Expand the local computer node
b. Expand SMTP Virtual Server node
c. Select the Domains node under the SMTP Virtual Server node
2. In the right-hand pane, Right-click on the Local (Default) domain name
in the list of domains
a. Select Properties
b. CLEAR the "Enable drop directory quota" checkbox
c. Click OK
3. Stop, and then re-Start the SMTP Virtual Server to force the change to
take effect immediately.

Wednesday, November 10, 2010

Restoring an exchange 2010 mailbox using DPM 2010

Overview:

DPM server backs up exchange server database every morning at 1am. We had to recover a user mailbox from the week before. DPM uses VSS writer to backup the exchange database. This means even when you want to restore a single mailbox, DPM will restore the entire mailbox database for the date you choose to an exchange recovery database and then you pull out that users data. The instructions below assume only that you already have DPM setup and backing up your exchange server.

My setup:

Primary VM Server:
  • Windows server 2008 R2 enterprise
  • Dual quad 3ghz xeon ibm x3550
  • 48gb ram
  • 2 750gb drives raid 0 which are c: and d: drive
  • c: is os, d: is virtual memory for server
  • 4 1tb drives raid 5 which is e: drive
  • 4 active windows server 2008 r2 virtual machines with virtual hard drives on e:

Exchange VM:

  • 16gb ram
  • 300gb virtual hard disk (c:)
  • 150gb virtual hard disk (d:)

DPM Server:

  • Windows server 2008 r2
  • DPM 2010
  • Single core2duo 2.8ghz
  • 8gb ram
  • 2 1tb drives raid0 (c: os)
  • 16tb drobo connected via gigabit eth (backup destination)

Backup schedule:

  • Backup exchange database every morning at 8am

The Process:

  1. Using exchange powershell, create a recovery database on your exchange server. Make sure you create the database on a drive where you will have enough space to recover the entire mailbox database backup. In my case, my mailbox database was 80gb. You only have to create a recovery database once. You can use it over and over again for your restore. Syntax: new-mailboxdatabase -Recovery -Name RDB1 -Server vmexchange01 -EDBFilePath "d:\rdb1\database\rdb1.edb" -LogFolderPath "d:\rdb1\Logs"
  2. Set the database so it can be overwritten. You will need to do this everytime before you go to recover a mailbox as once the recovery is done, the flag will be removed automatically. Syntax: set-mailboxdatabase -Identity rdb1 -AllowFileRestore 1
  3. Open DPM Console, select the Recovery tab
  4. Select the exchange database, the date you wish to recover from
  5. Right click on the mailbox you wish to recover and choose recover
  6. Confirm that you are recovering the correct mailbox and date and click Next
  7. Choose Recover mailbox to an Exchange server database and click Next
  8. Enter in your exchange server, in my case it is vmexchange01 and specify the database name, in my case, RDB1
  9. Uncheck SAN Recovery, set a notification for when the restore is complete, click Next
  10. Confirm the settings and click Next
  11. The restore is now in progress. You can close the status window if you wish and monitor through the Monitoring tab
  12. You will notice that DPM will start recovering the entire mailbox database for the date you specified to you recovery database on the exchange server. As soon as you see some data transferred, the size of the recover database on the server be set to the size of the recovery. This will help you gauge how long the recover will take
  13. Once the recovery is complete, you will then need to transfer the users recovered mailbox to an active user on the exchange server. In my case, I am going to recover the mailbox of "Brian Fisk" to a folder called "Recovered Backup" under the exchange user ittest. THIS WILL NOT OVERWRITE THEIR MAILBOX, it will add a folder at the same level as Inbox called Recovered Backup
  14. Syntax: New-MailboxRestoreRequest -SourceDatabase "rdb1" -SourceStoreMailbox 'Brian Fisk' -TargetMailbox ittest@seegrid.com -TargetRootFolder 'Recovered Backup' -AllowLegacyDNMismatch
  15. When prompted, hit Y to recover the mailbox
  16. You will now see a folder called 'Recovered Backup' under the mailbox