.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RLYTEST 1" .TH RLYTEST 1 "2008-01-07" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" rlytest \- test mail host for third\-party relay .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBrlytest\fR [\fB\-f\fR sender_addr] [\fB\-u\fR recip_addr] [\fB\-c\fR \fIcomment\fR] [\fB\-t\fR \fItimeout\fR] \&\fItarget_host\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBrlytest\fR utility performs a test on \fItarget_host\fR to determine whether it will relay third-party email. It will try to relay an email message to yourself through that host. A host that allows third-party relay is subject to attack by Internet vandals, and frequently is hijacked by spammers to relay massive amounts of junk email. A host that allows third-party relay should be \fBimmediately\fR secured, disconnected, or shunned as a menace to the Internet. .PP The following options are available: .IP "\fB\-f\fR \fIsender_addr\fR" 4 .IX Item "-f sender_addr" Specifies the (\f(CW\*(C`MAIL FROM\*(C'\fR) email address to use on the probe. By default, \fBrlytest\fR tries to calculate an email address in the target domain. This is to ensure that the host is not using simple (and easily defeated) envelope checks for anti-relay protection. .IP "\fB\-u\fR \fIrecip_addr\fR" 4 .IX Item "-u recip_addr" Specifies the (\f(CW\*(C`RCPT TO\*(C'\fR) email address to use on the probe. By default, \fBrlytest\fR tries to calculate your email address and use that. A host that is susceptible to relay will deliver a probe message to this address. .IP "\fB\-c\fR \fIcomment\fR" 4 .IX Item "-c comment" Embed \fIcomment\fR in the body of the test message. This may be useful, for instance, if you are doing some automatic testing and want to insert cookies into the messages. .IP "\fB\-t\fR \fItimeout\fR" 4 .IX Item "-t timeout" Sets the timeout value (default is 60 seconds) for certain operations. .PP If the remote host refused to relay the message, the program will terminate with a zero exit status dislay a message to \&\fIstderr\fR similar to: .PP .Vb 1 \& rlytest: relay rejected - status code 571 .Ve .PP If the message was accepted, the program will terminate with an exit status of 2 and display a message to \fIstderr\fR similar to: .PP .Vb 1 \& rlytest: relay accepted - status code 221 .Ve .PP Any other (non\-zero) exit status indicates a program error, such as a bad hostname or host not resopnding. .SH "EXAMPLE" .IX Header "EXAMPLE" Here is an example, showing a host that refuses third-party relay: .PP .Vb 10 \& $ ./rlytest mail.example.dom \& Connecting to mail.example.dom ... \& <<< 220 mail.example.dom ready \& >>> HELO garcon.unicom.com \& <<< 250 Hello garcon.unicom.com, pleased to meet you \& >>> MAIL FROM: \& <<< 250 ... Sender ok \& >>> RCPT TO: \& <<< 550 ... Relaying Denied \& rlytest: relay rejected - status code 550 .Ve .SH "BUGS" .IX Header "BUGS" There is no reliable and portable method to determine the local host's fully qualified domain name. If the utility bombs out complaining about \s-1FQDN\s0 problems, read the \*(L"host name configuration\*(R" information near the top of the script. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fImail\fR\|(1), \&\fIsendmail\fR\|(8), \&\fIsmtpd\fR\|(8) .SH "AUTHOR" .IX Header "AUTHOR" .Vb 3 \& Chip Rosenthal \& Unicom Systems Development \& .Ve .PP .Vb 2 \& $Id: rlytest,v 1.22 2001/10/22 22:02:48 chip Exp $ \& See http://www.unicom.com/sw/#rlytest for latest version. .Ve