Avatar billede mnv_dk Praktikant
19. oktober 2004 - 14:27 Der er 3 kommentarer og
1 løsning

Mail::Sendmail

Ja, historien er at jeg vil sende en mail som en del af et større script med perl, desværre er min viden inden for dette område begrænset, og derfor kiggede jeg mig omkring, og konstaterede at jeg kan bruge dette script:
#!/usr/bin/perl
use Mail::Sendmail;
%mail = ( To      => 'Test user #1 <test1@test.tld>',
          From    => 'Test user #2 <test2@test.tld>',
          Message => "This is a very short test message send through PERL.",
          Subject => "Sending mails with perl",
          Smtp => "smtp.server.tld",
          'X-Mailer' => "Mail::Sendmail version $Mail::Sendmail::VERSION"        );
sendmail(%mail) or die $Mail::Sendmail::error;
print "OK. Log says:\n", $Mail::Sendmail::log;

Det virker egentlig ogsaa fint nok, problemet er at den rent faktisk sender mailen men det virker som om, at den selv leger SMTP server naar den sender op imod min egen skriver den at der ikke var noget message ID med, og faar derfor 3.3 SPAM point med spamassasin, det ligner dette:
X-Spam-Status:  No, hits=3.3 tagged_above=-999.0 required=5.0 tests=MSGID_FROM_MTA_SHORT
X-Spam-Level:  ***
Ved at studere headers paa indkommende mails, prøvede jeg at ndsætte:
'Message-id' => "12325414213423@domain.tld"
Det er lidt bedre, men resultere i følgende meddelse
X-Spam-Status:  No, hits=2.9 tagged_above=-999.0 required=5.0 tests=INVALID_MSGID
X-Spam-Level:  **
Det er dog bedre, men stadig ikke perfekt, da det gerne skulle
resultere i ingen hits.
Løsningen kunne selvfølgelig være at sætte scoren ned på netop denne spam katagori, men da mine indstillinger på dette er default, er der mange andre servere der køre med det samme indstilling, og dem vil jeg jo også gerne sende til, uden at score nogle spam points, så jeg vil gerne høre fra folk, der kender til en løsning til dette problem, eller evt. en bedre må at gøre det på.
Er der en maade at løse dette paa?
Avatar billede mfalck Praktikant
19. oktober 2004 - 14:40 #1
jeg tror måske du skal lave dit msg_id lidt længere

SPAM: INVALID_MSGID      (1.2 points)  Message-Id is not valid, according to RFC 2822
Avatar billede mnv_dk Praktikant
19. oktober 2004 - 15:21 #2
Uhh ja, proever lige at tjekke den RFC.
Avatar billede mnv_dk Praktikant
19. oktober 2004 - 21:43 #3
Ville da lige poste min løsning hvis andre skulle faa brug for det:
#!/usr/bin/perl
use Mail::Sendmail;
$idnum = time();
$randnum = rand();
%mail = ( To      => 'Test user #1 <test1@domain.tld>',
          From    => 'Test user #2 <test2@domain.tld>',
          Message => "This is a very short test message send through PERL.",
          Subject => "Sending mails with perl",
          Smtp => "smtp.server.tld",
          'Message-ID' => "<$idnum-$randnum\@server.tld>",
          'X-Mailer' => "Mail::Sendmail version $Mail::Sendmail::VERSION"
  );
sendmail(%mail) or die $Mail::Sendmail::error;
print "OK. Log says:\n", $Mail::Sendmail::log;




Og hvis mfalck, ville smide et svar kan han lige faa sine point!
Avatar billede mfalck Praktikant
19. oktober 2004 - 22:03 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester