use Unix::Syslog qw(:macros :subs); sub is_valid_host { my $host = shift; return undef unless $host; my ($name,$aliases,$addrtype,$net) = gethostbyname($host); defined $name; } sub my_envrcpt_callback { my $ctx = shift; my $rcpt_addr = $ctx->getsymval('{rcpt_addr}'); my ($fqdn) = ($rcpt_addr =~ /\@(\S+)/); if (not is_valid_host($fqdn)) { # no such machine? syslog LOG_INFO, "$$: Rejected mail for $fqdn"; return Sendmail::PMilter::SMFIS_ACCEPT; } Sendmail::PMilter::SMFIS_ACCEPT; }