Solved

Script to Delete dead messages from  C:\inetpub\mailroot\badmail

Posted on 2008-06-15
2
2,593 Views
Last Modified: 2012-05-09
I have a mail gateway server that is accepting mail for 5 domains and i have about 1000 undeliverble messages  in the  c:\inetpub\mailroot\badmail folder perday what the best way  automatically deleting these messages
0
Comment
Question by:thombie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 6

Assisted Solution

by:Compaq_Engineer
Compaq_Engineer earned 50 total points
ID: 21788057
Schedule a batchfile to run at a time of low server use using Windows Task Scheduler
The batchfile doesn't need to be anything complicated. I would use as below;-

C:
cd \inetpub\mailroot\badmail
del *.* /Q

Hope that helps.
0
 
LVL 58

Accepted Solution

by:
tigermatt earned 200 total points
ID: 21788138
I've attached below a VBS script which I configure as a Scheduled Task where it is necessary to go through and clear this folder out. The difference with this script is it will only delete mail which is 7 days old (although that value can easily be changed), so it gives you chance to check the Badmail queue before the messages are deleted.

You can simply select the script in the Scheduled Task box and configure it to run once a day, once an hour or at any other interval you choose. The script will then go through and delete all the mail which is more than iDaysOld - change the number assigned to the iDaysOld variable near the top if you want to delete mail which is less old, perhaps only 3 days old.

-tigermatt
Dim oFSO
Dim oFolder
Dim oFile
Dim iDaysOld
 
'Customize values here to fit your needs
      iDaysOld=7
      Set oFSO=CreateObject("Scripting.FileSystemObject")
      set oFolder=oFSO.GetFolder("C:\inetpub\mailroot\badmail")
 
'Walk through each file in this folder collection. 
'If it is older than iDaysOld days, then delete it.
 
For each oFile in oFolder.Files
If oFile.DateLastModified < (Date() - iDaysOld) Then                               
oFSO.DeleteFile oFolder.Path & "\" & oFile.Name
End If
Next
 
'Clean up
      Set oFSO = Nothing
      Set oFolder = Nothing
      Set oFileCollection = Nothing
      Set oFile = Nothing

Open in new window

0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Numerous times I have been asked this questions that what is it that makes my machine log on so slow, there have been cases where computers took 23 minute exactly after taking password and getting to the desktop. Interesting thing was the fact th…
Recently, I had the need to build a standalone system to run a point-of-sale system. I’m running this on a low-voltage Atom processor, so I wanted a light-weight operating system, but still needed Windows. I chose to use Microsoft Windows Server 200…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question