#!/usr/bin/perl -n BEGIN{ die "Please give a file...\n" if ! @ARGV; } sub send_mail { my($to, $from, $subject, @body) = @_; use Net::SMTP; my $relay = "127.0.0.1"; my $smtp = Net::SMTP->new($relay) || die "Can't open mail connection: $!"; $smtp->mail($from); $smtp->to($to); $smtp->data(); $smtp->datasend("To: $to\n"); $smtp->datasend("From: $from\n"); $smtp->datasend("Subject: $subject\n"); $smtp->datasend("\n"); foreach $body (@body) { $smtp->datasend("$body\n"); } $smtp->dataend(); $smtp->quit(); } if(/^"\s*(.*)\s*"\s*,\s*"\s*(.*@.*)\s*"\s*$/){ $nomes[$. - 1]=$1; $mail[$. - 1]=$2; $nomes[$. - 1]=~s/\\(.)/$1/g; } END{ my %hash; my @nomes2=@nomes; #foreach(0 .. 3){ foreach(0 .. $#nomes2){ $num=int rand( $#nomes2 ) - 1; ($nomes2[$num],$nomes2[$_])=($nomes2[$_],$nomes2[$num]); } #} foreach(0 .. $#nomes2){ if($nomes2[$_] eq $nomes[$_] || $nomes2[$num] eq $nomes[$num]){ ($nomes2[$_-1],$nomes2[$_])=($nomes2[$_],$nomes2[$_-1]) if $_ > 0; ($nomes2[$_+1],$nomes2[$_])=($nomes2[$_],$nomes2[$_+1]) if $_ == 0; } } foreach(0 .. $#nomes){ $from='santa@secretsanta.com'; $to=$mail[$_]; $sub="Automated Secret Santa"; $msg="Your santa is: ".$nomes2[$_]."\n"; print "To: $to\nFrom: $from\nSubject: $sub\nData: $msg\n\n"; send_mail($to, $from, $sub, $msg); } }

In reply to secret santa by smokemachine

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.