Toon posts:

Perl script - Gegevens van een array mailen

Pagina: 1
Acties:
  • 60 views sinds 30-01-2008

Verwijderd

Topicstarter
#!perl

use Net::LDAP;

#Variabelen declareren
$HOST = '???.??.???';
$PORT = 389;
$BASEDN = "o=...";
$USER = "cn=....,ou=....,o=...";
$PASSWD = '?????';
$searchstring="(&(objectclass=bhPortalConfig)(uid=*))";
$attnames=["Last-Login-Time"];

# connect to LDAP server
print "Connecting to LDAP server ...\n";
$ldap = Net::LDAP->new($HOST, port => $PORT)
or die "Unable to connect to ldaphost $HOST at port $PORT\n";
print "OK\n";

# Binding
print "Binding user ...\n";
$r = $ldap->bind($USER, password => $PASSWD, version => 3)
or die "Unable to bind user $USER\nError: ", $r->error, "\n";
print "OK\n";


$r = $ldap->search(
base =>$BASEDN,
filter=>$searchstring,
attrs => $attnames);


#gevonden gegevens naar het beeldscherm dumpen
@entries = $r->entries;
foreach $entry (@entries) {
$entry->dump;
}

##########################
#Juiste Module importeren#
##########################

use Net::SMTP;

###############################
#Globale variabelen declareren#
###############################

my $Server = '????????';
my $MyDomain = 'test.com';
my $MailFrom = 'test@test.com';
my $MailTo = '????????';
my $DebugLevel = 1;
my $File = @entries;
#my $Mailcc = '?????';
#my $Mailbcc = '?????';

#################
#Connectie maken#
#################

$smtp = Net::SMTP->new ($Server,
Hello => $MyDomain,
Debug => $DebugLevel) or die "Couldn't create SMTP object";

#####################
#Adressen definieren#
#####################

$smtp->mail ($MailFrom);
$smtp->to ($MailTo);
#$smtp->cc ($Mailcc);
#$smtp->bcc ($Mailbcc);

##########################
#Opbouwen van het bericht#
##########################

#daadwerkelijke start van het bericht

$smtp->data;

#de gebruikte headers in bericht

$smtp->datasend ("From: $MailFrom");
$smtp->datasend ("To: $MailTo");
$smtp->datasend ("Subject: This is a test");

#einde van de header aangeven en start van de body maken

$smtp->datasend ("\n");

#Data van het bericht

$smtp->datasend ($File."\n");
$smtp->datasend ("blahblah");

#Stoppen met zenden van data en het verbreken van de connectie

$smtp->dataend;
$smtp->quit;


$ldap->unbind;

Hoi hoi, mijn probleem is dat ik de gegevens die in de array "@entries" staan niet kan mailen,ik krijg ze wel gedumpt op het beeldscherm maar niet gemaild naar de gebruiker. Na veel proberen krijg ik wel een getal 1 terug maar niet de inhoud.

Kan iemand mij helpen??

Alvast bedankt!

Mvg P.Hubben

  • chaotik
  • Registratie: Januari 2001
  • Laatst online: 10-08-2025
Die 1 is het aantal entries in je array. Waarschijnlijk zoek je iets als dit:
code:
1
$smtp->datasend( join( "\n", @entries ) . "\n" );

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sorry hubbenp, maar dit is niet helemaal de bedoeling hier. :) Je topic kan nu alleen maar opgevat worden als "hoi, dit is mijn code, fix het maar voor me", en daar doen we hier niet aan. Debuggen is iets wat je zelf moet doen, daar kunnen we je sowieso niet bij helpen, en verder is GoT geen quickfix, dus daarvoor zit je hier ook verkeerd. ;)

We verwachten van een topicstart dat er minimaal in staat wat de topicstarter zelf al geprobeerd heeft, wat daar niet aan lukte en waarom niet. Dat mis ik bij jou een beetje, en daarom doe ik je topic op slot. Ik denk dat je er met de tip van chaotik wel uit kunt komen. ;)

Lees ook P&W FAQ - De "quickstart" en Hoe post je code? / Hoe gebruik je de code tag? even door. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.