# # RFC822 address parsing regular expressions for procmail. # # Read this file into your .procmailrc with a line of the form: # INCLUDERC=rfc822rc.txt # # Parsing with regular expressions cannot handle parenthesized comments. # # spacex__ below is a space and a tab specialx__ = '][()<>@,;:\\".' spacex__ = " " specials__ = "[$specialx__]" atom__ = "[^$specialx__$spacex__]+" space__ = "[$spacex__]*" qtext__ = '[^"\\]' qpair__ = '\\.' beginq__ = '"' endq__ = '[^\\]?"' dotx__ = '\.' dot__ = "$space__$dotx__$space__" comma__ = "$space__,$space__" domainref__ = "$atom__" domainlit__ = "\[([^]]|$qpair__)*[^\\]?\]" quotedstring__ = "$beginq__($qtext__|$qpair__)*$endq__" word__ = "($atom__|$quotedstring__)" phrase__ = "($space__$word__$space__)*" localpart__ = "$word__($dot__$word__)*" subdomain__ = "($domainref__|$domainlit__)" domain__ = "$subdomain__($dot__$subdomain__)*" addrspec__ = "$localpart__$space__@$space__$domain__" domainlist__ = "@$domain__($comma__@$domain__)*" route__ = "($space__$domainlist__$space__:$space__)" routeaddr__ = "<$route__*$addrspec__$space__>" mailbox__ = "($addrspec__|$phrase__$space__$routeaddr__)" # Copyright (c) 1997-2002 Barton E. Schaefer # # NO WARRANTY # # THIS PROGRAM IS PROVIDED FREE OF CHARGE. THERE IS NO WARRANTY # FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN # OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES # PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED # OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS # TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE # PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, # REPAIR OR CORRECTION. # # IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING # WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR # REDISTRIBUTE THE PROGRAM, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY # GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE # USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS # OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU # OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER # PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGES. #