Although I do not believe that there is a proper way to turn the feature "off"; I have found a way to do it. I found myself much in the same position as the rest of you... The backscatter was getting my email server graylisted by Yahoo almost constantly. We probably have 1000+ hits against our "private" mailing list each day. We use it for sending to about a hundred recipients at a time. The spams would cause excessive amounts of:
"You do not have permission to post to the <listname> list", as experienced by you fellows.
Here's what I did:
SmarterMail has the ability to call a command line program during mail processing. This is usually used for virus scanning. However, it gives us a chance to kill these off before they leave the server. In SmarterMail 5, the option is on the "Spool" page of General Settings.
I wrote a quick VBScript to look at the message and potentially kill it off. I added logging and optional archiving, just so I could see what was happening. Here's the source to the script:
'Filters SmarterMail Messages (Originally designed to squash list rejections)
Option Explicit
Main
Sub Main()
Const ForReading = 1
Const ForAppending = 8
Const LogPath = "C:\Program Files\Special\SmarterMailFilterLog.txt"
Const ArchivePath = "C:\Program Files\Special\BackScatter\"
Dim FileName, objFSO, objTextFile, strText, ArchiveFileName
FileName = WScript.Arguments(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(FileName) Then
Set objTextFile = objFSO.OpenTextFile (FileName, ForReading)
strText = objTextFile.ReadAll
objTextFile.Close
Set objTextFile = Nothing
If instr(1, strText, "Sorry, you do not have permission") > 0 Then
Set objTextFile = objFSO.OpenTextFile (LogPath, ForAppending, True)
objTextFile.WriteLine(Now() & ", Deleted List Permission Bounce Email")
objTextFile.Close
Set objTextFile = Nothing
If Len(ArchivePath) > 0 Then
'Save a copy
ArchiveFileName = Now() & ".txt"
ArchiveFileName = Replace(ArchiveFileName, "/", "-")
ArchiveFileName = Replace(ArchiveFileName, ":", "-")
ArchiveFileName = ArchivePath & ArchiveFileName
objFSO.CopyFile FileName, ArchiveFileName
End If
objFSO.DeleteFile FileName
End If
End If
Set objFSO = Nothing
End Sub
To use it...
- Create the VBScript file
- Change the paths to something relevant for your computer
- Set SmarterMail to call it during processing. Make sure to pass the filename. My "Command Line Box" looks like this:
C:\Program Files\Special\SmarterMailFilter.vbs %filepath
I have no connection to SmarterMail other than it's the mail server software that I'm using. If you need help, you can reach me through my website, www.barnyardbbs.com.
The real solution to this problem is for SmarterMail to create a new option to suppress these emails. However, this is a great interim solution to keep us all from getting in trouble with the graylists.
-Ben