| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

18-07-2005, 13:09
|
|
bweichel
Registrierter Benutzer
|
|
Registriert seit: Aug 2004
Beiträge: 452
|
|
Funktionsaufruf
hallo,
ich habe mir aus dem internet eine klasse zum versenden von emails heruntergeladen. das versenden von emails funktioniert auch ohne probleme.
jetzt möchte ich an die email eine pdf datei (anhang/attachment) anhängen. in der klasse selbst gibt es auch eine funktion zum anhängen von attachments.
ich habe die klasse mit require importiert und wollte darunter die funktion addattachment aufrufen und die werte für den pfad und den namen übergeben.
so:
PHP-Code:
AddAtachment("http://www.xxx.de/xxx.pdf", "Anhang");
das funktioniert nicht und es kommt die fehlermeldung
PHP-Code:
Call to undefined Function AddAttachment()
kann mir jemand weiterhelfen? wie hänge ich einen anhang mit folgender klasse an meine email an?
die klasse habe ich als .txt an meine post angehängt...
|

18-07-2005, 13:12
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Re: Funktionsaufruf
Zitat:
Original geschrieben von bweichel
so:
PHP-Code:
AddAtachment("http://www.xxx.de/xxx.pdf", "Anhang");
|
so fehlt die klassenvariable vornedran
PHP-Code:
$wie_auch_immer_die_instanz_bei_dir_heisst->addatachment();
btw: attachment schreibt man mit 3 t insgesamt...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

18-07-2005, 14:00
|
|
bweichel
Registrierter Benutzer
|
|
Registriert seit: Aug 2004
Beiträge: 452
|
|
jetzt erscheint zwar keine fehlermeldung mehr, aber es wird auch kein attachment angehängt. ich nehme mal an das meine instanz falsch ist, aber ich weiß auch nicht wie die benutze instanz in der klasse heißt.
habe hier mal das script zum aufruf der klassen und zum versenden der email angefügt. kann mir jemand sagen wir die instanz richtig heißt und was ich falsch mache?
vielen dank
PHP-Code:
#!/usr/bin/php
<?php
/*
* PHPMagazin Newsletter Versender (Main)
*
* Programm zum Aritkel "Post Ab!" von Arne Blankerts
* Copyright (C) 2004 Arne Blankerts / S&S Verlag GmbH
*
*
*/
// Einstellungen
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'xxx');
define('MYSQL_PASSWD','xxx');
define('MYSQL_DB', 'xxx');
define('NACHRICHT', './newsletter.txt');
define('NACHRICHT_SUBJECT', 'xxx GmbH - Newsletter 18.07.2005');
define('FROM_MAIL', 'noreply@xxx.de');
define('FROM_NAME', 'xxx GmbH');
define('FROM_HOST', $_SERVER['HOSTNAME']);
define('RELAY_SERVER', 'localhost');
//define('SMTP_AUTH_USER', '');
//define('SMTP_AUTH_PASS', '');
define('MAX_FORKS', 3);
// Callbacks zulassen
declare(ticks=1);
// phpMailer laden
require("class.phpmailer.php5");
// HIER MEIN AUFRUF DER FUNKTION...
$new = new PHPMailer;
$new->AddAttachment("http://www.xxx.de/newsletter/2005-07-18/anhang/Angeb_Juli_2005_eMA.pdf", "Anhang");
require("class.smtp.php5");
// versender laden
require("class.sender.php5");
// Vorarbeiten: Wieviele Abonnenten haben wir?
$db=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWD);
if (!mysql_select_db(MYSQL_DB,$db)) {
die(mysql_error());
}
$sql="Select * from abonnenten where ACTIVE='Y' and SENT=0";
$rc=mysql_query($sql,$db);
if (!$rc) {
die(mysql_error());
}
$total=mysql_num_rows($rc);
// Threads und Anzahl/Thread berechnen
$perThread= floor( $total / MAX_FORKS );
if ( $total % MAX_FORKS == 0 ) {
// passt perfekt
$max_threads=MAX_FORKS;
} else {
// ein Thread mehr für den Rest
$max_threads=MAX_FORKS+1;
}
// sicher ist sicher ;)
if ($perThread==0) { $perThread=1; }
if ($max_threads>$total) { $max_threads=$total; }
// forks starten
for ($t=0; $t<$max_threads; $t++) {
// Abonennten laden
unset($user);
for ($x=0; $x<=$perThread; $x++) {
if ($tmp=mysql_fetch_assoc($rc)) {
$user[]=$tmp;
} else {
break;
}
}
if (count($user)==0) { break; }
$pid = pcntl_fork();
if ( $pid == -1 ) {
die("\nFehler beim fork()-Aufruf - Abbruch\n");
} elseif ( $pid == 0 ) {
// Kindprozess
$ppid=getmypid();
echo "Kindprozess $t gestartet (PID: $ppid)\n";
$child = new sender($ppid,$user);
$child->run();
echo ("Kindprocess $t [$ppid] abgeschlossen.\n");
die();
} else {
// PID des Kindprozesses speichern
$pidlist[]=$pid;
}
} // for-loop
// Warten auf die Kinder..
while (count($pidlist)) {
foreach ($pidlist as $key => $ppid) {
$tmp=pcntl_waitpid($ppid, $temp, WNOHANG);
if ($tmp!=0 ) {
unset($pidlist[$key]);
}
}
sleep(2);
}
echo "Versand vollständig.\n";
?>
|

18-07-2005, 14:49
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
bist du dir sicher, dass die klasse mit anhang über http klar kommt?
ansonsten - ein bißchen debuggen..
|

18-07-2005, 14:57
|
|
bweichel
Registrierter Benutzer
|
|
Registriert seit: Aug 2004
Beiträge: 452
|
|
ich weiß es nicht. es ist aber auch kein problem die datei anders anzuhängen. es funktioniert jedoch garnichts von beiden. woran kann das liegen? die datei liegt nun im gleichen verzeichnis wie die klasse und die datei zum versenden der emails?
vielen dank für die hilfe...
|

18-07-2005, 15:07
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
OffTopic: http://www.media2be.de/leistungen.php -> "[...] Programmierung von anprechenden und benutzerfreundlichen Websites und Web-Applikationen. Egal ob Image-Site, Online-Shop (gerne mit Anbindung an Ihr WWS), Community-Site oder Portal. Wir können das! [...]"
nur debuggen können wir nicht.
p.s. lass jemanden die texte dieser page mal auf grammatikfehler untersuchen - es lohnt sich!
muss man nicht die mails auch noch mit oder so verschicken?
Geändert von penizillin (18-07-2005 um 15:11 Uhr)
|

18-07-2005, 15:12
|
|
bweichel
Registrierter Benutzer
|
|
Registriert seit: Aug 2004
Beiträge: 452
|
|
danke, werde ich gleich probieren...
|

18-07-2005, 15:35
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|