Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    "Bad E-Mail Addresses" pop-up when attempting to send email notices using Voyager Reporter

    • Product: Voyager
    • Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare

     

    Question

    When attempting to send email notices via Reporter we receive a "Bad E-Mail Addresses" ("BadE-Mail") pop-up and notices are not sent.

    bad email addresses.png

    Answer

    Rejection and validation of emails occurs on the SMTP (Simple Mail Transfer Protocol) mail server. 

    If you are seeing bad email addresses, and the email addresses test as valid, you should first check with the administrator of the SMTP mail server being used to send Voyager Reporter emails.

    If Voyager Reporter is reporting all of the notices as "Bad E-Mail Addresses," this is usually due to the SMTP server rejecting or otherwise being unable to deliver the emails it is asked to send by Voyager Reporter.

    Keep in mind that from the mail server's perspective, the emails are being sent by the workstation and not the Voyager server.

    Trouble-shooting suggestions:

    • Check to see if the email addresses are actually valid by testing in a different email client.
    • Check to see if the problem is happening on all PCs running Reporter or just one.
    • Check the firewall settings between the PC running Reporter and the SMTP mail server.  A network firewall might be blocking only the emails being sent and not the initial call to the server when Reporter first starts up.
    • Check to see if a local client-side firewall or other security software (for example Anti-Virus software) is blocking the sending of emails on port 25.
    • Check to make sure the SMTP server is not requiring authentication to relay emails.
    • Check that the mail server will forward messages that originate from port 25 of the specific IP address of the PC running Reporter.
    • Check that the PC running Reporter has a static IP address (this can be contraindicated by the presence of a WiFi card or PCs using DHCP -- Dynamic Host Configuration Protocol).
    • Check the mail logs on the SMTP server for rejection errors. It's recommended that IT watch the logs in real time while Reporter is being run. These errors will often be quite specific and very illuminating.

    Additional Information

    When Voyager Reporter is started it will test the email connection to make sure that it is valid. This helps us to rule out a basic firewall issue. If the voyager.ini file stanza was incorrect, then a validation error would have been received at start-up of the client and not during processing.

    Note that the SMTP mail server must be able to accept connections that are not authenticated nor encrypted.

    Hosted customers must find a local mail server that will accept these connections. Local customers can use the Voyager server's sendmail.

    See also: What are the characteristics of valid email addresses in Voyager?

    The following Prepackaged Access Reports example query and its related subquery might be used to help identify some email addresses that cause notices to be undeliverable. 

    Subquery: Save this under the name “Bad Email Address Subquery”, but don’t run it:

    SELECT PATRON_ADDRESS.ADDRESS_LINE1 AS Email, 
    PATRON_ADDRESS.PATRON_ID, PATRON_BARCODE.PATRON_BARCODE
    FROM PATRON_ADDRESS INNER JOIN (PATRON_BARCODE INNER JOIN PATRON_GROUP
    ON PATRON_BARCODE.PATRON_GROUP_ID = PATRON_GROUP.PATRON_GROUP_ID)
    ON PATRON_ADDRESS.PATRON_ID = PATRON_BARCODE.PATRON_ID
    WHERE (((PATRON_ADDRESS.ADDRESS_TYPE)="3") 
    AND ((PATRON_BARCODE.BARCODE_STATUS)="1"));

    Main query:

    SELECT [Bad Email Address Subquery].Email, 
    PATRON.LAST_NAME, PATRON.FIRST_NAME,
    PATRON.EXPIRE_DATE, [Bad Email Address Subquery].PATRON_BARCODE
    FROM [Bad Email Address Subquery] INNER JOIN PATRON
    ON [Bad Email Address Subquery].PATRON_ID = PATRON.PATRON_ID
    WHERE ((([Bad Email Address Subquery].Email) Like '*@*@*'))
    OR ((([Bad Email Address Subquery].Email) Not Like '*@*'))
    OR (((InStr([Email],'(')+InStr([Email],')')+InStr([Email],'[')+InStr([Email],']')
    +InStr([Email],'<')+InStr([Email],'>'))<>0))
    OR (((InStr([Email],',')+InStr([Email],';')+InStr([Email],'"')+InStr([Email],':')
    +InStr([Email],' '))<>0));

     

    Constructing custom SQL queries by request and troubleshooting unexpected results from customer-created SQL queries falls outside the scope of Support. The above has been posted for informational purposes.  Voyager-L and Developer Network are useful resources for finding helpful custom SQL or obtaining assistance from peers in troubleshooting custom queries.

     


    • Article last edited: 25-Jun-2020