Alt-Mailhost Query

Hi, I need to re-route inbound messages from a certain domain to an alternative internal IP address. Looks easy enough to do with the alt-mailhost action, but there’s a line in the IronPort help file that confuses the issue slightly:
“Note that any additional routing information specified by the smtproutes command still affects the routing of the message”
I have 2 static inbound SMTP routes defined for our domain – what I need to do is override this for one specific sender domain. Will alt-mailhost do this or will it be overridden by the SMTP routing table?
Any advice appreciated.

The "smtproutes" will get the last say in routing.
With alt-maillhost(), you may want to try and send it directly to the internal IP address.
From our Advance User Guide:
Alter Delivery Host Action
The alt-mailhost action changes the IP address for all recipients of the selected message to the numeric IP address or hostname given. The following example filter redirects recipient addresses to the host example.com for all messages.
localRedirectFilter:
if(true)
alt-mailhost('example.com');
Thus, a message directed to [email protected] is delivered to the mailhost at example.com with the Envelope To address [email protected] Note that any additional routing information specified by the smtproutes command still affects the routing of the message. (See “Routing Email for Local Domains” on page 38.)
local2Filter:
if(true)
alt-mailhost('192.168.12.5');
Hi, I need to re-route inbound messages from a certain domain to an alternative internal IP address. Looks easy enough to do with the alt-mailhost action, but there’s a line in the IronPort help file that confuses the issue slightly:
“Note that any additional routing information specified by the smtproutes command still affects the routing of the message”
I have 2 static inbound SMTP routes defined for our domain – what I need to do is override this for one specific sender domain. Will alt-mailhost do this or will it be overridden by the SMTP routing table?
Any advice appreciated.

Similar Messages

  • Alt-Mailhost / SMTP Routes Question...

    Hi All,
    I have a query on SMTP routing when using the Alt-Mailhost command in a Message Filter...
    Our configuration in overview is two Ironport devices (C650's at AsyncOS 6.4) at separate sites, configured as a cluster (all config is common across sites). At each site, there also exists a 3rd party mail host.
    So, I have a message filter which selects messages based on some criteria and I also know which Ironport received it. When I have a match, I want to route this message to the 3rd party mail host on the _local_ site......but if that mail host is down, I want to route it to the 3rd party mail host on the other site. Simple as that!
    At the moment, my Alt-Mailhost command looks like this;
    <message has been selected> {
    <if "Site A" Ironport used> {
    alt-mailhost('bogusdomain1.net');
    <else>{
    alt-mailhost('bogusdomain2.net');
    ...in my SMTP Routes I'd _like_ to have this;
    bogusdomain1.net     <3rd-Party-Box-at-Site-A>, <3rd-Party-Box-at-Site-B>
    bogusdomain2.net     <3rd-Party-Box-at-Site-B>, <3rd-Party-Box-at-Site-A>
    ...but this doesn't work because multiple hosts in an SMTP route are tried in numerical / alphabetical order...no matter what order you put them into the SMTP Route definition (is this a bug?)....so in reality, they both have to look like this;
    bogusdomain1.net     <3rd-Party-Box-at-Site-A>, <3rd-Party-Box-at-Site-B>
    bogusdomain2.net     <3rd-Party-Box-at-Site-A>, <3rd-Party-Box-at-Site-B>
    ..which is no use.
    My only other idea is that I could just have this in the SMTP Routes for those domains;
    bogusdomain1.net     USEDNS
    bogusdomain2.net     USEDNS
    ...and configure my DNS with the above domains, such that there really _is_ a difference in the order of the MX for those domains.
    So my question is, how can I do this without using 'USEDNS' and the associated DNS config...i.e. just via the Ironport devices?
    Hope the collective can help!
    Cheers, Chris.

    Check out the latest release notes...
    Enhanced: Prioritized SMTP Routes
    AsyncOS 7.0 allows you to prioritize the destination hosts for your SMTP routes. AsyncOS will attempt to deliver the message to a destination host in order based on priority. Destinations with identical priority will be used in a “round-robin” fashion.

  • Ironport alt-mailhost filter and bounced emails.

    Hello!
    I have problem with ironport configuration and hope someone help me )
    I use filter with alt-mailhost rule for users within domain but located on another server.
    It's work fine. But... i have problem with bounced emails. They don't affected by filter and use smtp route.
    How to attach my filter with bounced emails?
    Thanks for any help.

    Hello,
    bounce email messages are handled outside the work queue so they are not subject to Message Filter or Content Filter processing. Only SMTP routes will apply here, an alt-mailhost action is not possible.
    The only possible workaround would be to loop the delivered bounce message over the appliance again (e.g an SMTP route that points to a secondary listener on the appliance), so that it can be reprocessed by alt-mailhost. Please note that looping certain messages over the appliance again bears the risk of an endless mail loop so you may need to adjust your filters accordingly to prevent this.
    Hope this helps. If not, please let us know.
    Regards,
    Martin

  • Java Application to connect to vdb3 database

    Hi Folks,
    I have to create a java application to connect to vdb3 oracle databse to support various transactions with menu options as below:
    File menu(ALT F)
    ---Connect (ALT L)
    ---Exit (ALT E)
    Data menu(ALT D)
    ---Query(ALT Q)
    ---Add Student(ALT A)
    ---Delete Student(ALT T)
    ---Update Student(ALT U)
    Option menu(ALT O)
    ---Color(ATL C)
    ---Font (ATL N)
    There is a STUDENT table with studid, firstname, lastname, major and age.
    I have the following code for the GUI. I am getting the following errors. How do I go about from here? Please help.
    Student.java:13: cannot find symbol
    symbol : class ControlPanel
    location: class Student
    private ControlPanel controls;
    ^
    Student.java:38: cannot find symbol
    symbol: method GridLayout(int,int,int,int)
    frame.add(panel, GridLayout(4,2,5,5));
    ^
    Student.java:49: cannot find symbol
    symbol : method addWindowListener(<anonymous java.awt.event.WindowAdapter>)
    location: class javax.swing.JMenuItem
    exititem.addWindowListener(
    ^
    Student.java:69: cannot find symbol
    symbol : method JMenuItem(java.lang.String)
    location: class Student
    JMenuItem queryItem = JMenuItem("Query");
    ^
    Student.java:78: cannot find symbol
    symbol : method showMessgaeDialog(<nulltype>,java.awt.Component,java.lang.String,int)
    location: class javax.swing.JOptionPane
    JOptionPane.showMessgaeDialog(null, add(queryoutput), "QUERY RESULTS", JOptionPane.INFORMATION_MESSAGE);
    import javax.swing.*;
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Student extends JFrame
         private JTextArea out;
         private JDesktopPane desktop;
         private JTextArea queryoutput;
         private ControlPanel controls;
         public Student()
              super(" Student Database");
              //container c = getContentPane();
              desktop = new JDesktopPane();
              add(desktop);
              JMenu fileMenu = new JMenu("File");
              fileMenu.setMnemonic('F');
              JMenuItem connectItem = new JMenuItem("Connect");
              connectItem.setMnemonic('L');
              fileMenu.add(connectItem);
              connectItem.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
                        JInternalFrame frame = new JInternalFrame("Login", true, true, true, true );
                        MyPanel panel = new MyPanel();
                        frame.add(panel, GridLayout(4,2,5,5));
                        frame.pack();
                        desktop.add(frame);
                        frame.setVisible(true);
              JMenuItem exititem = new JMenuItem("Exit");
              exititem.setMnemonic('E');
              fileMenu.add(exititem);
              exititem.addWindowListener(
                   new WindowAdapter()
                        public void WindowClosing (WindowEvent event)
                             System.exit(0);
              JMenuBar bar = new JMenuBar();
              setJMenuBar(bar);
              bar.add(fileMenu);
              queryoutput = new JTextArea(5,20);
              JMenu dataMenu = new JMenu("Data");
              dataMenu.setMnemonic('D');
              JMenuItem queryItem = JMenuItem("Query");          
              queryItem.setMnemonic('Q');
              dataMenu.add(queryItem);
              dataMenu.addSeparator();
              dataMenu.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
                        JOptionPane.showMessgaeDialog(null, add(queryoutput), "QUERY RESULTS", JOptionPane.INFORMATION_MESSAGE);
              JMenuItem addstud = new JMenuItem("Add Student");
              addstud.setMnemonic('A');
              dataMenu.add(addstud);
              dataMenu.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
              JMenuItem delstud = new JMenuItem("Delete Student");
              addstud.setMnemonic('T');
              dataMenu.add(delstud);
              dataMenu.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
              JMenuItem updatestud = new JMenuItem("Update Student");
              addstud.setMnemonic('U');
              dataMenu.add(updatestud);
              dataMenu.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
              JMenu options = new JMenu("Options");
              options.setMnemonic('O');
              JMenuItem color = new JMenuItem("Color");
              addstud.setMnemonic('C');
              options.add(color);
              options.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
              JMenuItem font = new JMenuItem("Font");
              addstud.setMnemonic('N');
              options.add(font);
              options.addActionListener(
                   new ActionListener()
                        public void actionPerformed(ActionEvent event)
    class MyPanel extends JPanel
              private JLabel L1;
              private JLabel L2;
              private JLabel L3;
              private JTextField userid;
              private JPasswordField pw;
              private JTextField database;
              private JButton ok;
              private Connection connect;
              private JTextArea output;
              private String url;
         public MyPanel()
              L1 = new JLabel("User Id:");
              add(L1);
              userid = new JTextField(10);
              add(userid);
              L2 = new JLabel("Password:");
              add(L2);
              pw = new JPasswordField(10);
              add(pw);
              L3 = new JLabel("Database Name:");
              add(L3);
              database = new JTextField(10);
              add(database);
              ok = new JButton("OK");
              add(ok);
              ok.addActionListener(     
              new ActionListener()
                   public void actionPerformed(ActionEvent event)
                   try {
         url = "jdbc:odbc:Student";
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
         connect = DriverManager.getConnection( url );
         output.append( "Connection successful\n" );
              catch ( ClassNotFoundException cnfex ) {     
         // process ClassNotFoundExceptions here
         cnfex.printStackTrace();     
         output.append( "Connection unsuccessful\n" +
    cnfex.toString() );
         catch ( SQLException sqlex ) {
         // process SQLExceptions here
         sqlex.printStackTrace();
         output.append( "Connection unsuccessful\n" +
    sqlex.toString() );
         catch ( Exception ex ) {
         // process remaining Exceptions here
         ex.printStackTrace();
         output.append( ex.toString() );
    import javax.swing.*;
    public class MainWindow
         public static void main( String args[])
              Student student = new Student();
              student.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              student.setSize(500,200);
              student.setVisible( true);
    }

    Error messages tell you everything you need to know (usually).
    Student.java:13: cannot find symbol
    symbol : class ControlPanel
    location: class Student
    private ControlPanel controls;
    ^
    This means that the compiler cannot find the class ControlPanel. Does it exists. Is it in the same directory as your other files. Has it compiled correctly.
    Student.java:38: cannot find symbol
    symbol: method GridLayout(int,int,int,int)
    frame.add(panel, GridLayout(4,2,5,5));
    ^
    This tells you it cannot find the method GridLayout. I presume you meant to have a new in front of it. Besides the layout manager code should have been done prior to this and your code should be
    frame.add(panel);Student.java:49: cannot find symbol
    symbol : method addWindowListener(<anonymous java.awt.event.WindowAdapter>)
    location: class javax.swing.JMenuItem
    exititem.addWindowListener(
    ^
    Once again the method addWindowListener cannot be found. JFrame has this method not JMenuItem. Probably need an ActionListener.
    Student.java:69: cannot find symbol
    symbol : method JMenuItem(java.lang.String)
    location: class Student
    JMenuItem queryItem = JMenuItem("Query");
    ^
    Once again the compiler thinks you are trying to call a method called JMenuItem. You forgot new.
    Student.java:78: cannot find symbol
    symbol : method showMessgaeDialog(<nulltype>,java.awt.Component,java.lang.String,int)
    location: class javax.swing.JOptionPane
    JOptionPane.showMessgaeDialog(null, add(queryoutput), "QUERY RESULTS", JOptionPane.INFORMATION_MESSAGE);
    Spelling!

  • Question about Message Selector

    Dear all,
    I have implemented a JAVA progrram which will sent 10 JMS messages into AQ sequentially, and then use another JAVA client which will get JMS message from the AQ.
    I found out that if i use Message Selector to get message from AQ, the message will NOT be read from the queue by enqueue_time, how can i get the jms message from AQ by message selector that can preserve the enqueue_time order?

    Have you got a lot of MTA?
    Because you can create one rule by MTA...
    Example:
    In message filter:
    verylongbloke sayed how do that...
    and in content filter:
    rule1: if (header("X-IP") == "^1.1.1.1$") { alt-mailhost ("[1.1.1.1]"); }
    rule1: if (header("X-IP") == "^1.1.1.2$") { alt-mailhost ("[1.1.1.2]"); }
    It's not very sexy but it works fine...
    unfortunately, we can't use variable for alt-mailhost action... or I don't know how :)
    regards..

  • LDAP routing and DNS combination

    for outgoing devilvery is it possible to combine both LDAP Routing and DNS?
    IE. to send out abc.com that exist on LDAP, it will be delivered using LDAP Routing and for domain that is not exists on LDAP, use DNS instead.
    TIA

    If you haven't explicitly enabled it, then SMTP Routes will be used to forward on the mail.
    fyi, this is for our outbond delivery (not incoming). This is what I have just tested.
    domain.com is in our LDAP, and I'd like to usedns instead of LDAP.routing. domain.com mx records should be somewhere in the internet.
    LDAP query test results:
    Query: LDAP.routing
    Address: [email protected]
    Action: reroute
    Reroute to recipients: - (host: servers.cbn.net.id)
    In smtproutes:
    domain.com: usedns
    In mail_logs:
    Wed Nov 7 18:57:44 2007 Info: LDAP: Reroute query LDAP.routing MID 429897525 RID 0 address [email protected] to [('[email protected]', 'servers.cbn.net.id')]
    Wed Nov 7 18:57:44 2007 Info: LDAP: Mailhost query LDAP.routing address [email protected] to servers.cbn.net.id
    Wed Nov 7 18:57:44 2007 Info: MID 429897526 ICID 0 RID 0 To:
    Although I have already specified to usedns, the message still delivered using LDAP.routing.

  • Manually released mail moving from Policy Quarantine to SPAM Quarantine

    We have configured content filter to quarantine mails which are categorized as a 'Suspected Spam'
    hence all mails quarantined by suspected spam content filter are getting quarantined under 'Policy quarantine'
    I have observed that whenever we release mail from Suspected spam content filter, it is moving from Policy quarantine to Spam quarantine instead of getting delivered to the end user. (behavior is only for suspected spam mails. rest of the filters are working fine)
    has anyone experienced such kind of behavior ?? please suggest

    Hi Don,
    Indeed there are two ways to send to ISQ.
    a)  alt-mailhost('the.euq.queue')
    b)  Insert-Header ('X-Ironport-Quarantine: somevalue')
    But both will send the mail to quarantine and stop, even if I have an action such as duplicate-quarantine. No mail is sent to recipient.
    It may sound weird to most because why would we need to ISQ an email but at the same time want to mail be delivered.
    My goal is to just copy it, and send it to ISQ, while let the mail be delivered.
    At this moment, I can't get both done at the same message/content filter.
    MonitorUserADGroupFilter: if mail-from-group == "CN=somegroup, OU=XX, DC=company, dc=com" {
                                   deliver();
                                   alt-mailhost ("the.euq.queue");
    deliver() is now called "skip-filters()", btw.
    The above wont work because once delivered, the message is no long exist and quarantine to 'the.euq.queue' do no effect.
    If I put alt-mailhost higher than deliver, then the message does not deliver.
    Also replaced with "duplicate-quarantine" to deliver(). Same behavior.
    What's the best way to "deliver and copy to ISQ"?
    Regards,
    Chris

  • Content filters and SL/BL

    I have been working on an problem that I cannot seem to get an answer to.
    I have a c300 set up with local quarantine. I turned on the EUQ and the SL/BL options.
    I have a content filter;
    Spam_Review: if (dictionary-match("Spam_Review", 2)) { strip-header("Subject"); insert-header("Subject", "[Possible Spam-MX1] $Subject"); alt-mailhost ("the.euq.queue"); }
    The problem is that the SL/BL is not working. I have an address in my SL and when I send an email that triggers the content filter the items still gets quarantined even though the address is in my SL.
    I Have checked the message headder information when I release the message from the quarantine and it shows the following:
    X-SLBL-Result: SAFE-LISTED
    My question is, can the content filter be used to quarantine messages and still work with the SL/BL?

    Hi rnarvaez,
    Unfortunately the answer to your question is NO. IronPort filters, quarantines and SL/BL are architectured such that admin always get the final say over user preference.
    So, if a user has an entry for an address or a domain listed in SL but the message triggers a filter setup by the admin then message will have the action setup in the filter.
    -Kishore

  • Two ESAs where the backup hosts the ISQ with CM (KB: 610)

    Hi,
    last Tuesday we had a small discussion at the IronPort Partnerday about the Knowledge Base article 610
    "Configure two ESAs where the backup hosts the ISQ with Centralized Management".
    The main problem with the proposed solution is that you have to break your clustered configuration for HAT/RAT. Which means you need to configure white-/blacklisted Servers and Recipients in the Access table on both machines again. Therefor I would like to suggest a new way of doing this, which leaves me the benefit of the Centralized Managment for the cost of having an idle listener:
    Instead of adding the Listener only on one appliance, you add the listener to the Cluster. This will not break anything on the Non-ISQ Box, as there is no traffic routed to this Machine. And don't forget to add the IP Address of the backup ESA into the Incoming Relays list, otherwise you could break your reputation. :)
    If you have a special IP Address for the ISQ, you can also add this Interface on the second Box with the same name.
    Any comments welcome,
    Adrian Woizik

    I have several systems configured that way, never had a problem with them. You can't sell centralized management if the first thing you need to do is break the cluster config again ;)
    I can't seem to find #610 anymore but i remember that some older KB articles said to use a message filter like this to send spam received on the QuarantineListener to the spam quarantine:
    if (recv-listener == "QuarantineListener") {
    alt-mailhost("the.euq.queue");
    Don't use that filter because its broken, you won't be able to release messages from the quarantine anymore. Instead I use something like this:
    if (recv-listener == "QuarantineListener") {
    skip-spamcheck();
    skip-viruscheck();
    skip-vofcheck();
    insert-header("X-Ironport-Quarantine", "Quarantine");
    deliver();
    The only unfortunate side-effect of hosting the spam quarantine on one box is that the reporting is wrong again. Any message sent this way is logged as a clean message.
    I'm curious about your comment about breaking your reputation. How would this setup affect your reputation? You're not scanning for spam again on the second box, so even if it shares statistics, won't it just report that a lot of clean mail was received from the first box?

  • Forwarding copy of SPAM-tagged subjects to my mailbox?

    Our ISP was starting to tag some of our mails with the addition [SPAM] in the subject.
    How can I forward a copy of every incoming mail with such a text in the subject to a internal spam-mailbox for further checks?
    Can I use some kind of regular expression for the search of "SPAM" in the subject?
    If our C100 doesn't detect such a mail as spam, how can I remove the added tag from the ISP?
    (Some of our employees are a little bit confused about this and ask for the appropriate handling of such mails).

    Yes, you can generally put in an incoming content filter that will search for something like this:
    if ( subject == "^[SPAM]" )
    then
    alt-mailhost('alternate_location');
    or
    bcc-scan('[email protected]')
    The Advanced User guide found on the Support Portal will explain these actions in further detail.
    However, we need to verify what Sendergroup/Mail Flow Policy the ISP is matching on. This makes a difference because we need to know if this connection is occurring on the inbound(Accepted, Throttled mail flow policy) or on the outbound (Relayed).
    Is the ISP on a Relaylist? (Mail Policies > HAT Overview)
    Once we have more information, we can provide a more specific answer.
    Our ISP was starting to tag some of our mails with the addition [SPAM] in the subject.
    How can I forward a copy of every incoming mail with such a text in the subject to a internal spam-mailbox for further checks?
    Can I use some kind of regular expression for the search of "SPAM" in the subject?
    If our C100 doesn't detect such a mail as spam, how can I remove the added tag from the ISP?
    (Some of our employees are a little bit confused about this and ask for the appropriate handling of such mails).

  • Mail redirection via Mail policy / filter

    Hi
    I have configured a mail policy / filter to redirect email coming from a external source but the Exchange admin cannot see the email arrive at the mailbox..
    1. I can telnet and smtp ping to the exchange server
    2. There is already a route configured for these email server
    3. The exchange server is present in the HAT list
    4. When I go to Message Tracking , I get this error message ...
    Message 11368 to xxxxxxxxx@XXXX received remote SMTP response '2.6.0 <80a1b0$b38@unknown domain> [InternalId=35171] Queued mail for delivery'.
    What else do I need to do or is this the right way to redirect mail ?

    Issue has been resolved.
    1. Incoming Content Filters if (mail-from == "@ mydomain.com $") {alt-mailhost ("[10.0.2.188]");}
    2.Turn this filter for Default police
    3. Add Incoming Mail police where to specify e-mail addresses of senders VIP
    4. Content Filters disable this policy

  • How to configure Ironport to Use an external Encrpytion server

    Hi,
    We would like to use an external encryption server to encrypt our emails.
    The Ironport would still be the MX for our domain, and the encryption server would be in the same DMZ as the Ironport.
    Here is the setup we would like to implement:
    Incoming emails:
    - Ironport check the connexion (senderbase)
    - If encrypted (how to detect the mail as encrypted) the mail is not scan AV / SPAM
         - the is it goes to the decryption server
        - then back to Ironport to scan AV/spam
        - then goes to exchange
    - If not encrypted the email is scanned AV/Spam
        - then goes to Exchange for delivery
    Outgoing emails:
    - Exchange to Ironport
    - Scan AV/Spam
    - If needs to be encrypted (with header detected)
         - then goes to encryption server
        - then back to ironport (no scan AV/Spam ) and delivery to Internet
    -If does not need to be encrypted
          - then send to Internet
    Is it possible to configure the Ironport to get this behaviour? and how? I still facing problems with the different flows....
    Any idea would be very helpfull
    Regards
    RD

    For incomig mails you can create a message filter like the following one:
    route_pgp_smime_encrypted_data:
    if (recv-listener == "your listener") AND (encrypted) AND (remote-ip != "IP of your encryption gw")
    alt-mailhost ("IP of your encryption gw");
    Greets
    Jörg

  • Relaying to Specific Domain

    What is the best practice for relaying messages sent externally to a specific domain? I'm not talking about relaying from outside Ironport then back to your email servers. I'm talking about relaying the other direction. So for example your email server sends and email from abc.com to Ironport, I want something on Ironport that says any email from abc.com relay to this IP or domain. Can that only be done using a Outgoing Content Filter?
    The goal is to have emails sent to a certain domain directed from Ironport to a vpn tunnel. 

    Depending on incoming vs. outgoing --- just create a content filter w/ alt-mailhost... and then also be sure to create an SMTP route for that alt-mailhost domain...
    Similar to --->
    SMTP route --->
    In my example --- I'm not really routing anywhere --- so, I am using /dev/null.
    Testing --- standard SMTP telnet --->
    mail from: [email protected]
    250 sender <[email protected]> ok
    rcpt to: [email protected]
    250 recipient <[email protected]> ok
    data
    354 go ahead
    subject: THIS IS A TEST
    HELLO
    250 ok:  Message 202 accepted
    Watching mail_logs --->
    Tue Apr 29 18:11:36 2014 Info: MID 202 ICID 610 From: <[email protected]>
    Tue Apr 29 18:11:41 2014 Info: MID 202 ICID 610 RID 0 To: <[email protected]>
    Tue Apr 29 18:11:49 2014 Info: MID 202 Subject 'THIS IS A TEST'
    Tue Apr 29 18:11:49 2014 Info: MID 202 ready 153 bytes from <[email protected]>
    Tue Apr 29 18:11:49 2014 Info: MID 202 matched all recipients for per-recipient policy DEFAULT in the inbound table
    Tue Apr 29 18:11:49 2014 Info: MID 202 interim verdict using engine: CASE spam negative
    Tue Apr 29 18:11:49 2014 Info: MID 202 using engine: CASE spam negative
    Tue Apr 29 18:11:49 2014 Info: MID 202 Outbreak Filters: verdict negative
    Tue Apr 29 18:11:49 2014 Info: MID 202 queued for delivery
    Tue Apr 29 18:11:49 2014 Info: Delivery start DCID 0 MID 202 to RID [0]
    Tue Apr 29 18:11:49 2014 Info: Message done DCID 0 MID 202 to RID [0] 
    Tue Apr 29 18:11:49 2014 Info: MID 202 RID [0] Response '/dev/null'
    Tue Apr 29 18:11:49 2014 Info: Message finished MID 202 done
    Message is sent where I wanted it... /dev/null.
    I hope this helps!
    -Robert
    (*If you have received the answer to your original question, and found this helpful/correct - please mark the question as answered, and be sure to leave a rating to reflect!)

  • Cannot close an XML file used for parsing

    Hi All,
    I appears to have difficulty closing (possibly flushing it first) an XML file that was subsequently being parsed without success. The error generated is:
    org.jdom.input.JDOMParseException: Error on line 23: The element type "form" must be terminated by the matching end-tag "</form>".
    Below is the code snippets of readData() to retrieve (HTML) data from a website, save it to a file, then convert to XML format before returning the new filename:
    public String readData() {
        try {
              URL url  = new URL("http://www.abc.com");
              URLConnection connection = url.openConnection();      
              InputStream isInHtml = url.openStream();   // throws an IOException    
              disInHtml = new DataInputStream(new BufferedInputStream(isInHtml));         
              System.out.flush();
              FileOutputStream fosOutHtml = null;
              fosOutHtml = new FileOutputStream("C:\\Temp\\ABC.html");
              int oneChar, count=0;
              while ((oneChar=disInHtml.read()) != -1)
                  fosOutHtml.write(oneChar);
              isInHtml.close();
              disInHtml.close();
              fosOutHtml.flush();    // optional
              fosOutHtml.close();
        try {
              File fileInHtml = new File("C:\\Temp\\ABC.html");
              FileReader frInHtml = new FileReader(fileInHtml);
              BufferedReader brInHtml = new BufferedReader(frInHtml);
              String string = "";
              while (brInHtml.ready())
                  string += brInHtml.readLine() + "\n";
              fwOutXml  = new FileWriter("C:\\Temp\\ABC.xml");
              pwOutXml  = new PrintWriter(fwOutXml);
              light_html2xml html2xml = new light_html2xml();
              pwOutXml.print(html2xml.Html2Xml(string));
              system.out.flush()     // optional
              fwOutXml.flush();      // optional
              fwOutXml.close();
              pwOutXml.flush();      // optional
              pwOutXml.close();
              return fileInHtml.getAbsolutePath();
    // parseData reads the XML file using the name returned by readData()
    public void parseData(String XMLFilename)
        try
            FileReader frInXml = new FileReader(FileName);
            BufferedReader brInXml = new BufferedReader(frInXml);
            SAXBuilder saxBuilder = new SAXBuilder("org.apache.xerces.parsers.SAXParser"); // JDOMParseException generated.
    }These codes would worked when they were in a single method but I have since placed some structure around them using a number methods.
    This issue has risen in th past where I have been able to close the XML file prior to reading them again. However, I don't have a solution for it this time round.
    I am running JDK 1.6.0_10, Netbeans 6.1, JDOM 1.1 on Windows XP platform.
    Any assistance would be appreciated.
    Many thanks,
    Jack

    Hi Alain,
    I have added the additional I/O statements in the finally clause as follows but the problem still persisted:
    readData()
    // reading data (html) from the webpage and save it in html format.
    try {
    catch { …. }
    finally {
           System.out.flush();
           isInHtml.close();
           disInHtml.close();
           fosOutHtml.flush();
           fosOutHtml.getFD().sync();
           fosOutHtml.close();
    // convert the html webpage format to xml format
    try {
    catch { …. }
    finally {
           System.out.flush();
           fwOutXml.flush();
           fwOutXml.close();
           pwOutXml.flush();
           pwOutXml.close();
    Below is a short listing of the new XML file:
      <?xml version="1.0" encoding="iso-8859-1" ?>
    - <html>
    - <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <meta name="keywords" content="California, cities, towns, villages, list, zipcodes, postal codes, united states, ca" />
      <meta name="description" content="Cities, towns and suburbs in California, United States (CA) starting with A" />
      <title>Cities and Towns in California starting with A – ABC Company</title>
      <link rel="stylesheet" href="http://www.abc.com/style.css" type="text/css" media="screen" />
      </head>
    - <body>
      <a name="top" />
    - <div id="container">
    - <div id="header">
      <div id="postmark" />
    - <a href="http://www.abc.com/" class="imglink">
      <img id="logoimg" src="http://www.abc.com/images/zipcodes.gif" width="192" height="33" alt="Zipcodes America Logo" />
      </a>
      <hr />
      </div>
    - <div id="nav">
    - <ul>
    - <li>
      <a href="http://www.abc.com/" title="Home Page">Home</a>
      </li>
    - <li>
      <strong>Search</strong>
      (zipcode or suburb)
    - <div class="hide">
      <form method="post" action="http://www.abc.com/search" />        // line 23
      </div>
      <input type="text" name="q" class="searchbox" alt="Search query" />
      <br />
      <input type="submit" value="find!" class="searchbutton" alt="Perform search" />
      <div class="hide" />
      </li>
    …What I find it interesting is that it is possible to parse the above XML file with the same parseData() from another class without any problem. As a result, I have come to the following conclusion so far:
    ( i ) There is some file locking that is prevent saxBuilder from parsing the XML file at the time.
    ( ii ) The light_html2xml does not appears to have correctly converted over the orginal Html to Xml but some how it has been picked up by the parser in the same class, but not by the same parser from another class.
    ( iii ) I would like to use another conversion tool such as Tagsoup in place of light_html2xml to determine where the cause of this issue is coming from. As a result, would you or anyone be able to assist me coming up with a few lines of conversion statements using Tagsoup since I am not familiar with using this tool?
    ( iv ) light_html2xml is good as it strip out all namespace, DTD, Entity Resolver, etc and only return what I need. JTidy does correct conversion but include namespace, DTD, Entity Resolver which makes parsing difficulty.
    Many thanks again,
    Jack

  • Message Re-Write

    We are changing an internal domain over next 12 months. The requirement is to select inbound mail to old address and auto-reply to sender. Then to rename To: address to new domain.
    We have two servers in a cluster configuration.
    I  have created a listener with maquerade defined on it but not sure how to rewrite to listener on same ESA that message was recieved on..
    any assistance please.

    Hello John,
    this is a two step process involving a filter that sends the notification to the sender, and uses an alt-mailhost action that redirects the message to the new listener IP, where the recipient gets masqueraded. The important detail here is that the masquerading is configured on cluster level, while the filter is configured on machine level.
    So you generate a filter for each appliance seperately, be carefull with that though as changing something on machine level will empty that part of the configuration.
    Alternatively, just use one filter cluster wide that redirects traffic to one IP only, and let this listener handle all the masquerading only. Probably means some more stress for that appliance in the beginning, but that should decrease over time when the new address has been recognised by everybody.
    Hope that helps,
    Andreas

Maybe you are looking for

  • Combo Box Background Color Change

    I have a drop down combo box with Good, Fair, Poor as the selection options. I would like to change the background color based on each slection. That is change the color to Green when Good is selected, Yellow for Fair and Red for Poor. Any help is ge

  • In Need of Video Capture Card

    Hello      I am a digital video editor working with Adobe Premiere 6.0. I have noticed that when I try to capture video on the program all I get is a grey screen with no video and no audio ,however, I do get device control. I have learned that I do n

  • Creating fixed slots in calendar

    I have 3 meeting rooms available to be reserved in the same slots. Using Outlook 2013, I would like to create a frame schedule for each of the rooms, with the available slots (for instance, a half an hour window), which are then used by executive ass

  • Help with -50 error message

    I keep getting the -50 meassage when I try to update my ipod. How do I fix this problem?

  • Where is it ?

    I had download Adobe Flash Player 10, but a don't found it on my comptuter. I'd download Mc Afee too and I don't understant why I can't see Flash on my ''desk''. When I tried to download AdobeFlashPlayer 10 a new time, they said '' Flash is downloade