Mailversand via admidio

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Hat die Datei auch die entsprechenden Rechte bekommen ?
ja, CHMODE 777

Ist Admidio in einem Unterordner von deinem Hauptordner ?
siehe anhang
Dateianhänge
1.jpg
1.jpg (54.83 KiB) 11092 mal betrachtet
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

hmm, dann füge mal probeweise in deiner config.php folgende Zeile hinzu:

Code: Alles auswählen

$gDebug = 1;
.
Jetzt sollte sich die errorlog.txt schon füllen, wenn du normale Admidio-Seiten aufrufst.

Ist das bei dir der Fall?
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Code: Alles auswählen

[26-Feb-2012 19:28:28] --------------------------------------------------------------------------------
/www/htdocs/w00ad8f3/admidio/adm_program/index.php
? 
[26-Feb-2012 19:28:28] SELECT prf_name, prf_value 
                     FROM adm_preferences, adm_organizations
                    WHERE org_shortname = 'GJR'
                      AND prf_org_id = org_id 
                      AND prf_name IN ('forumVersion','enable_forum_interface')
[26-Feb-2012 19:28:28] SHOW COLUMNS FROM adm_sessions
[26-Feb-2012 19:28:28] DELETE FROM adm_sessions 
                    WHERE ses_timestamp < '2012.02.26 18:58:28'
[26-Feb-2012 19:28:28] SHOW COLUMNS FROM adm_organizations
[26-Feb-2012 19:28:28] SELECT * FROM adm_organizations 
                     WHERE  org_shortname LIKE 'GJR'  
[26-Feb-2012 19:28:28] SELECT * FROM adm_preferences
                    WHERE prf_org_id = 1
[26-Feb-2012 19:28:28] SELECT * FROM adm_categories, adm_user_fields
                 WHERE usf_cat_id = cat_id
                   AND (  cat_org_id IS NULL
                       OR cat_org_id  = 1 )
                 ORDER BY cat_sequence ASC, usf_sequence ASC 
[26-Feb-2012 19:28:28] SHOW COLUMNS FROM adm_user_fields
[26-Feb-2012 19:28:28] SHOW COLUMNS FROM adm_users
[26-Feb-2012 19:28:28] INSERT INTO adm_sessions (  ses_org_id  , ses_begin  , ses_timestamp  , ses_ip_address ) VALUES (  1  , '2012-02-26 19:28:28'  , '2012-02-26 19:28:28'  , '217.82.36.192' ) 
[26-Feb-2012 19:28:28] PHP Warning:  Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/overall_header.php on line 54
[26-Feb-2012 19:28:28] SHOW COLUMNS FROM adm_roles
[26-Feb-2012 19:28:28] SELECT * FROM adm_roles , adm_categories
                     WHERE  rol_name LIKE 'Webmaster'  AND rol_cat_id = cat_id
                                    AND (  cat_org_id = 1
                                        OR cat_org_id IS NULL )
aber dafür eine fehlermeldung in admidio:

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/overall_header.php on line 54
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

Ok, dann scheint das mit dem errorlog zu funktionieren, nur leider wird wohl nichts eingetragen, wenn du an eine Rolle eine E-Mail versendest.

Zu dem Fehler, schau mal hier.

Du kannst jetzt die Zeile mit $gDebug wieder entfernen. Versuch es doch noch einmal mit dem Versand einer E-Mail an eine Rolle, wird was in der Datei hinzugefügt ?
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

habe $gDebug wieder entfernt.

www.jugend-ahrensboek.de/admidio/

trotzdem noch folgende fehlermeldung oben in admidio:
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/overall_header.php on line 54

einloggen funktioniert nun auch nicht mehr. :-(

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/login_check.php on line 147

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/login_check.php on line 150

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00ad8f3/admidio/config.php:1) in /www/htdocs/w00ad8f3/admidio/adm_program/system/login_check.php on line 188
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Tritt diese Meldung auf (einzelne Angaben in der Meldung können abweichen), so wurde die Datei nicht richtig als UTF8 Datei gespeichert. Admidio erwartet alle Dateien in der UTF-8 Kodierung ohne BOM. Die Standardeinstellung bei den meisten Editoren ist UTF-8 mit BOM. Da allerdings PHP mit dem BOM nicht zurechtkommt und die oben genannte Fehlermeldung auswirft, muss man dies im Editor so einstellen, dass UTF-8 ohne BOM gespeichert wird.

dieses problem habe ich gelöst.

so wieder eine rollenmail probiert zu senden, wieder gleiches fehler-ergebnis. :-(

und der fehler wird nicht in der errorlog-txt-datei angezeigt:
http://jugend-ahrensboek.de/errorlog/errorlog.txt
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

Ok, dann versuchen wir mal weiter zu schauen, wo das Problem liegt.

Geh mal bitte in folgende Datei adm_program > system > classes > email.php

und füge dort in Zeile 553 folgende Zeile ein

Code: Alles auswählen

return true;
Jetzt gehe ich davon aus, dass bei dir wahrscheinlich eine positive Meldung zurückkommt oder ?

Wir haben jetzt die Funktion "Kopie an Sender" abgeklemmt. Wahrscheinlich steckt hier bei dir das Problem.

Gruß
Fasse
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Hallo Fasse,
leider wieder unsere bekannte Fehlermeldung:

Hinweis

Die E-Mail konnte nicht an die Rolle Webmaster gesendet werden.
Zurück Zurück


Außerdem ist noch eine TXT-Datei aufgegangen:

DSP9331:

Code: Alles auswählen

<?php
/******************************************************************************
 * Create and send a text or html email with attachments
 *
 * Copyright    : (c) 2004 - 2012 The Admidio Team
 * Homepage     : http://www.admidio.org
 * License      : GNU Public License 2 http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Mit dieser Klasse kann ein Email-Objekt erstellt
 * und anschliessend verschickt werden.
 *
 * Das Objekt wird erzeugt durch Aufruf des Konstruktors:
 * Email()
 *
 * Nun wird der Absender gesetzt:
 * setSender($address, $name='')
 * Parameters: $address - Die Emailadresse
 *             $name    - Der Name des Absenders (optional)
 *
 * Nun koennen in beliebiger Reihenfolge und Anzahl Adressaten (To,Cc,Bcc)
 * der Mail hinzugefuegt werden:
 * (optional und mehrfach aufrufbar, es muss jedoch mindestens
 * ein Empfaenger mittels einer der drei Funktionen gesetzt werden)
 *
 * addRecipient($address, $name='')
 * addCopy($address, $name='')
 * addBlindCopy($address, $name='')
 * Parameters: $address - Die Emailadresse
 *             $name    - Der Name des Absenders (optional)
 *
 * Nun noch ein Subject setzen (optional):
 * setSubject($subject)
 * Parameters: $subject - Der Text des Betreffs
 *
 * Der Email einen Text geben:
 * function setText($text. )
 * Parameters: $text - Der Text der Mail
 *
 * Nun kann man ein Attachment hinzufuegen:
 * (optional und mehrfach aufrufbar)
 * function addAttachment($tmp_filename, $orig_filename = '', $file_type='application/octet-stream',  
                          $file_disposition = 'attachment',$file_id = '')
 * Parameters: $tmp_filename     - Der Pfad und Name der Datei auf dem Server
 *             $orig_filename    - Der Name der datei auf dem Rechner des Users
 *             $file_type        - Den Contenttype der Datei. (optional)
 *             $file_disposition - Damit kann mann festlegen ob mann das Attachment als Anhang (=> 'attachment') 
 *                                 oder in der Mail verwendent (=> 'inline')
 *             $file_id          - Damit kann mann die id jeden Attachments festlegen
 *
 * Bei Bedarf kann man sich eine Kopie der Mail zuschicken lassen (optional):
 * setCopyToSenderFlag()
 *
 * Sollen in der Kopie zusaetzlich noch alle Empfaenger aufgelistet werden,
 * muss folgende Funktion auch noch aufgerufen werden (optional):
 * function setListRecipientsFlag()
 *
 * Methode gibt die maximale Groesse der Anhaenge zurueck
 * size_unit : 'b' = byte; 'kb' = kilobyte; 'mb' = megabyte
 * getMaxAttachementSize($size_unit = 'kb') 
 *
 * Soll die Nachricht als HTML Code interpretiert und versendet werden,
 * muss folgende Funktion auch noch aufgerufen werden (optional):
 * function sendDataAsHtml()
 *
 * Am Ende muss die Mail natuerlich noch gesendet werden:
 * function sendEmail();
 *
 *****************************************************************************/

class Email
{

// constructor of class
public function __construct()
{
    global $gPreferences;

    // Important: MimeVersion should be first element of header
    $this->headerOptions['MIME-Version'] = '1.0';

    $this->headerOptions['Return-Path'] = $gPreferences['email_administrator'];
    $this->headerOptions['Sender']      = $gPreferences['email_administrator'];

    $this->mailBoundary        = '--NextPart_AdmidioMailSystem_'. md5(uniqid(rand()));
    $this->mailBoundaryRelated = $this->mailBoundary;
    $this->copyToSender        = false;
    $this->listRecipients      = false;
    $this->sendAsHTML          = false;
    $this->lineBreak           = "\r\n";
    $this->text                = '';    // content of text part
    $this->htmlText            = '';    // content of html part
	$this->charset             = $gPreferences['mail_character_encoding'];

    //Jetzt wird noch der ContentType der Mail gesetzt.
    //Dieser wird im Falle eines Attachments oder HTML spaeter ersetzt.
    $this->headerOptions['Content-Type'] = 'text/plain; charset='.$this->charset;

    //Hier werden noch mal alle Empfaenger der Mail reingeschrieben,
    //fuer den Fall das eine Kopie der Mail angefordert wird...
    $this->addresses = '';

}

// method adds sender to mail
public function setSender($address, $name='')
{
    global $gPreferences;
    $address = admStrToLower($address);
	if(strlen($name) == 0)
	{
		$name = $address;
	}
	else
	{
		// Sender must be Ascii-US formated, so encode in MimeHeader
		$name = admEncodeMimeheader(stripslashes($name));
	}
    
    if (strValidCharacters($address, 'email'))
    {
        //Falls so eingestellt soll die Mail von einer bestimmten Adresse aus versendet werden
        if(strlen($gPreferences['mail_sendmail_address']) > 0) // && $address != $gPreferences['email_administrator'])
        {
            //hier wird die Absenderadresse gesetzt
            $this->headerOptions['From'] = '"'. $name. '" <'. $gPreferences['mail_sendmail_address']. '>';
			
            //wenn der Empfänger dann auf anworten klickt soll die natürlich an den wirklichen Absender gehen
			//Der Absendername ist in Doppeltueddel gesetzt, damit auch Kommas im Namen kein Problem darstellen
			$this->headerOptions['Reply-To'] = '"'. $name. '" <'. $address. '>';
        }
        //Im Normalfall wird aber versucht von der Adresse des schreibenden aus zu schicken
        else
        {
			//Der Absendername ist in Doppeltueddel gesetzt, damit auch Kommas im Namen kein Problem darstellen
			$this->headerOptions['From'] = '"'. $name. '" <'. $address. '>';
        }
        return true;
    }
    return false;
}

// write a short text with sender informations in text of email
public function setSenderInText($senderName, $senderEmail, $roleName)
{
    global $gL10n, $gValidLogin, $gCurrentOrganization;
    
    if($this->sendAsHTML)
    {
        $senderCode = '<a href="mailto:'.$senderEmail.'">'.$senderName.'</a>';
    }
    else
    {
        $senderCode = $senderName.' ('.$senderEmail.')';
    }
    
    if(strlen($roleName) > 0)
    {
        $senderText = $gL10n->get('MAI_EMAIL_SEND_TO_ROLE', $senderCode, $gCurrentOrganization->getValue('org_homepage'), $roleName);
    }
    else
    {
        $senderText = $gL10n->get('MAI_EMAIL_SEND_TO_USER', $senderCode, $gCurrentOrganization->getValue('org_homepage'));
    }
    
    if($gValidLogin == false)
    {
        $senderText = $senderText."\r\n".$gL10n->get('MAI_SENDER_NOT_LOGGED_IN');
    }

    $senderText = $senderText."\r\n".
    '*****************************************************************************************************************************'.
    "\r\n"."\r\n";
    
    $this->text = $this->text.$senderText;
    $this->htmlText = $this->htmlText.nl2br($senderText);
}

// set subject in email
public function setSubject($subject)
{
    if (strlen($subject) > 0)
    {
        $this->headerOptions['Subject'] = admEncodeMimeheader(stripslashes($subject));
        return true;
    }
    return false;
}

// method adds main recipients to mail
public function addRecipient($address, $name='')
{
    $address = admStrToLower($address);
    // Recipient must be Ascii-US formated, so encode in MimeHeader
	$asciiName = admEncodeMimeheader(stripslashes($name));

    if (strValidCharacters($address, 'email'))
    {
        if (!isset($this->headerOptions['To']))
        {
            $this->headerOptions['To'] = '"'. $asciiName. '" <'. $address. '>';
        }
        else
        {
			$this->headerOptions['To'] = $this->headerOptions['To']. ', "'. $asciiName. '" <'. $address. '>';
        }
        $this->addresses = $this->addresses. $name. ', '. $address. "\r\n";
        return true;
    }
    return false;
}

// method adds CC recipients to mail
public function addCopy($address, $name='')
{
    $address = admStrToLower($address);
    // Copy must be Ascii-US formated, so encode in MimeHeader
	$asciiName = admEncodeMimeheader(stripslashes($name));

    if (strValidCharacters($address, 'email'))
    {
        if (!isset($this->headerOptions['Cc']))
        {
            $this->headerOptions['Cc'] = '"'. $asciiName. '" <'. $address. '>';
        }
        else
        {
			$this->headerOptions['Cc'] = $this->headerOptions['Cc']. ', "'. $asciiName. '" <'. $address. '>';
        }
        $this->addresses = $this->addresses. $name. ', '. $address. "\r\n";
        return true;
    }
    return false;
}

// method adds BCC recipients to mail
public function addBlindCopy($address, $name='')
{
    $address = admStrToLower($address);
    // Blindcopy must be Ascii-US formated, so encode in MimeHeader
	$asciiName = admEncodeMimeheader(stripslashes($name));

    if (strValidCharacters($address, 'email'))
    {
        $this->bccArray[] = '"'. $asciiName. '" <'. $address. '>';
        $this->addresses = $this->addresses. $name. ', '.$address."\r\n";
        return true;
    }
    return false;
}

// Funktion um den Nachrichtentext an die Mail uebergeben
public function setText($text)
{
    //Erst mal die Zeilenumbrueche innerhalb des Mailtextes umwandeln in einfache Umbrueche
    // statt \r und \r\n nur noch \n
    $text = str_replace('\r\n', '\n', $text);
    $text = str_replace('\r', '\n', $text);

    $this->text = $this->text.$text;
    $this->htmlText = $this->htmlText.$text;
}

// method adds an attachement to the mail
// tempFilename     : filename of the local server path where admidio is installed
// originalFilename : original filename that will be shown in the email
// fileType         : content type of the file in the email
// fileDisposition  : how the file should be shown in email : 'attachement' or 'inline'
// fileId           : a unique id for the file, so that it could be identified in the email
public function addAttachment($tempFilename, $originalFilename = '', $fileType='application/octet-stream' ,
					   $fileDisposition = 'attachment',$fileId = '')
{
    $this->attachments[] = array(
            'orig_filename' => $originalFilename,
            'tmp_filename'  => $tempFilename,
            'file_type'     => $fileType,
            'file_disposition' => $fileDisposition,
            'file_id'       => $fileId);

    if($this->sendAsHTML == false)
    {
	    // HTML-Mails mit Anhang behalten ihren Type, Textmails bekommen einen Speziellen
	    // text mail with attachement should get a new content type, html mail get that later
		$this->headerOptions['Content-Type'] = "multipart/mixed;\n\tboundary=\"". $this->mailBoundary. '"';
	}
}

// Funktion um das Flag zu setzen, dass eine Kopie verschickt werden soll...
public function setCopyToSenderFlag()
{
    $this->copyToSender = true;
}

// Funktion um das Flag zu setzen, dass in der Kopie alle Empfaenger der Mail aufgelistet werden
public function setListRecipientsFlag()
{
    $this->listRecipients = true;
}

// method change email header so that client will interpret mail as html mail
public function sendDataAsHtml()
{
    $this->sendAsHTML = true;
	$this->lineBreak  = '<br />';
	$this->headerOptions['Content-Type'] = "multipart/alternative;\n\tboundary=\"". $this->mailBoundary. '"';
}

// Funktion um den Header aufzubereiten
private function prepareHeader()
{
    $this->mail_properties = '';
    foreach ($this->headerOptions as $key => $value)
    {
        $this->mail_properties = $this->mail_properties. $key. ': '. $value. "\n";
    }
    //Den letzten Zeilenumbruch im Header entsorgen.
    $this->mail_properties = substr($this->mail_properties,0,strlen($this->mail_properties)-1);
}

// Methode gibt die maximale Groesse der Anhaenge zurueck
// size_unit : 'b' = byte; 'kb' = kilobyte; 'mb' = megabyte
public static function getMaxAttachementSize($size_unit = 'kb')
{
    global $gPreferences;
    
    if(round(admFuncMaxUploadSize()/pow(1024, 1), 1) < $gPreferences['max_email_attachment_size'])
    {
        $attachment_size = round(admFuncMaxUploadSize()/pow(1024, 1), 2);
    }
    else
    {
        $attachment_size = $gPreferences['max_email_attachment_size'];
    }
    
    if($size_unit == 'mb')
    {
        $attachment_size = $attachment_size / 1024;
    }
    elseif($size_unit == 'b')
    {
        $attachment_size = $attachment_size * 1024;
    }
    return round($attachment_size, 2);
}

// Funktion um den Body zusammenzusetzen
private function prepareBody()
{
    $this->mail_body = '';

    // bei multipart-Mails muss auch der Content-Type fuer Text explizit gesetzt werden
    if($this->sendAsHTML || isset($this->attachments))
    {
	  	$this->mail_body = $this->mail_body."--". $this->mailBoundary.
	    				   "\nContent-Type: text/plain; charset=".$this->charset."\nContent-Transfer-Encoding: 7bit\n\n";
    }

    // nun den Mailtext als Text-Format hinzufuegen
    $this->mail_body = $this->mail_body. strip_tags($this->text). "\n\n";

	// if html mail then add html text to email
    if($this->sendAsHTML)
    {
    	// html mail with embedded pictures get own boundary
    	if(isset($this->attachments))
    	{
    		$this->mailBoundaryRelated = '--NextPart_AdmidioMailSystem_'. md5(uniqid(rand()));

    		if($this->attachments[0]['file_disposition'] == 'inline')
    		{
                // inline attachements should only be shown in html part and not as attachement
                $this->mail_body = $this->mail_body. "--". $this->mailBoundary. 
						   	   "\nContent-Type: multipart/related;\n\tboundary=\"". $this->mailBoundaryRelated. "\"\n\n";
            }
            else
            {
                // set content type 'mixed' for html attachement if they should not be shown inline
                $this->mail_body = $this->mail_body. "--". $this->mailBoundary. 
						   	   "\nContent-Type: multipart/mixed;\n\tboundary=\"". $this->mailBoundaryRelated. "\"\n\n";
            }
		}
		$this->mail_body = $this->mail_body. "--". $this->mailBoundaryRelated. 
					   	   "\nContent-Type: text/html; charset=".$this->charset."\nContent-Transfer-Encoding: 7bit\n\n";
        $this->mail_body = $this->mail_body. $this->htmlText."\n\n";
    }

    // Jetzt die Attachments hinzufuegen...
    if (isset ($this->attachments))
    {
        for ($i = 0; $i < count($this->attachments); $i++)
        {
            $thefile = '';
            $fileContent = '';

            $this->mail_body = $this->mail_body. "--". $this->mailBoundaryRelated. "\n";
            $this->mail_body = $this->mail_body. "Content-Type: ". $this->attachments[$i]['file_type']. ";\n";
            $this->mail_body = $this->mail_body. "\tname=\"". $this->attachments[$i]['orig_filename']. "\"\n";
            $this->mail_body = $this->mail_body. "Content-Transfer-Encoding: base64\n";
            if (!empty($this->attachments[$i]['file_disposition']))
            {
                $this->mail_body = $this->mail_body. "Content-Disposition: ".$this->attachments[$i]['file_disposition'].";\n";
            }
            else
            {
                $this->mail_body = $this->mail_body. "Content-Disposition: attachment;\n";
            }
            $this->mail_body = $this->mail_body. "\tfilename=\"". $this->attachments[$i]['orig_filename']. "\"\n";
            if (!empty($this->attachments[$i]['file_id']))
            {
                $this->mail_body = $this->mail_body. "Content-ID: <".$this->attachments[$i]['file_id'].">\n\n";
            }

            // File oeffnen und base64 konvertieren
            $return  = '';
            $data    = '';
            $thePart = '';
            if ($fp = fopen($this->attachments[$i]['tmp_filename'], 'rb'))
            {
                while (!feof($fp))
                {
                    $return .= fread($fp, 1024);
                }
                fclose($fp);
                $data = base64_encode($return);

            }

            if (function_exists('chunk_split'))
            {
               $thePart    .= chunk_split($data,76,"\n");
            }
            else
            {
                $theData    = $data;
                while (strlen($theData)>76)
                {
                    $thePart.=substr($theData,0,76)."\n";
                    $theData=substr($theData,76);
                }
                $thePart    .= $theData."\n";
            }
            $this->mail_body = $this->mail_body. "\n". $thePart. "\n\n";
        }
        // Das Ende der Mail mit der Boundary kennzeichnen...
        if($this->mailBoundary != $this->mailBoundaryRelated)
        {
        	$this->mail_body = $this->mail_body. '--'. $this->mailBoundaryRelated. "--\n\n";
        }
        $this->mail_body = $this->mail_body. '--'. $this->mailBoundary. '--';
    }

	// if character encoding is iso-8859-1 than decode our utf-8 string to iso-8859-1
	if($this->charset == 'iso-8859-1')
	{
		utf8_decode($this->mail_body);
	}
}

// Funktion um die Email endgueltig zu versenden...
public function sendEmail()
{
    global $gPreferences, $gL10n;
    
	// Wenn keine Absenderadresse gesetzt wurde, ist hier Ende im Gelaende...
    if (!isset($this->headerOptions['From']))
    {
        return false;
    }

    // Wenn keine Empfaenger gesetzt wurden, ist hier auch Ende...
    if (!isset($this->headerOptions['To']) and !isset($this->headerOptions['Cc']) and !isset($this->bccArray))
    {
        return false;
    }

    //Hier werden die Haupt-Mailempfaenger gesetzt und aus den HeaderOptions entfernt...
    $recipient = '';
    if (isset($this->headerOptions['To']))
    {
        $recipient = $this->headerOptions['To'];
        unset($this->headerOptions['To']);
    }

    // Hier wird das MailSubject gesetzt und aus den HeaderOptions entfernt...
    $subject = '';
    if (isset($this->headerOptions['Subject']))
    {
        $subject = $this->headerOptions['Subject'];
        unset($this->headerOptions['Subject']);
    }

    //Hier werden jetzt die BCC-Empfaenger im Header verewigt und die Mail dann abgeschickt.
    //Da dies haeppchenweise geschehen soll, wird mit einer Schleife gearbeitet
    $bccCounter = 0;

    if (isset($this->bccArray))
    {
        foreach ($this->bccArray as $key => $value)
        {
            if (!isset($this->headerOptions['Bcc']))
            {
                $this->headerOptions['Bcc'] = $value;
            }
            else
            {
            $this->headerOptions['Bcc'] = $this->headerOptions['Bcc']. ', '. $value;
            }

            $bccCounter++;

            //immer wenn die Anzahl der BCCs $gPreferences['mail_bcc_count'] (Standard: 50) erreicht hat 
            // oder aber das letzte Element des Arrays erreicht ist, wird die Mail versand.
            if ($bccCounter == $gPreferences['mail_bcc_count'] || count($this->bccArray) == $key+1)
            {
                // Hier wird der Header fuer die Mail aufbereitet...
                $this->prepareHeader();

                // Hier wird der Body fuer die Mail aufbereitet...
                $this->prepareBody();

                // Mail wird jetzt versendet...
                // das Versenden in UTF8 funktioniert noch nicht bei allen Mailclients (Outlook, GMX)
                if (!mail($recipient, $subject, $this->mail_body, $this->mail_properties))
                {
                     return false;
                }

                unset($this->headerOptions['Bcc']);
                $bccCounter = 0;
            }


        }
    }
    else
    {
        //...und hier noch das ganze wenn es keine BCCs gibt!

        // Hier wird der Header fuer die Mail aufbereitet...
        $this->prepareHeader();

        // Hier wird der Body fuer die Mail aufbereitet...
        $this->prepareBody();

        // Mail wird jetzt versendet...
        // das Versenden in UTF8 funktioniert noch nicht bei allen Mailclients (Outlook, GMX)
        if (!mail($recipient, $subject, $this->mail_body, $this->mail_properties))
//        if (!mail(utf8_decode($recipient), utf8_decode($subject),  $this->mail_body, utf8_decode($this->mail_properties)))
        {
             return false;
        }
    }

     return true;
    // Eventuell noch eine Kopie an den Absender verschicken:
    if ($this->copyToSender)
    {
        $copyHeader = '*****************************************************************************************************************************'.
                      "\r\n"."\r\n";
        $copyHeader = $gL10n->get('MAI_COPY_OF_YOUR_EMAIL').':'."\r\n".$copyHeader;

        //Falls das listRecipientsFlag gesetzt ist werden in der Kopie
        //die einzelnen Empfaenger aufgelistet:
        if ($this->listRecipients)
        {
             $copyHeader = $this->addresses."\r\n".$copyHeader;
             $copyHeader = $gL10n->get('MAI_MESSAGE_WENT_TO').':'."\r\n"."\r\n".$copyHeader;
        }
         
        $this->text = $copyHeader.$this->text;
        $this->htmlText = nl2br($copyHeader).$this->htmlText;

        unset($this->headerOptions['To']);
        unset($this->headerOptions['Cc']);
        unset($this->headerOptions['Bcc']);

        // Header fuer die Kopie aufbereiten...
        $this->prepareHeader();

        // Body fuer die Kopie aufbereiten...
        $this->prepareBody();

        //Das Subject modifizieren
        $subject = $gL10n->get('MAI_CARBON_COPY').': '. $subject;

        //Empfänger
        $mailto = $this->headerOptions['From'];
    	//Wenn gesonderte Versandadresse gesetzt ist die Antwortadresse verwenden
        if($gPreferences['mail_sendmail_address'] != '' && $mailto != $gPreferences['email_administrator'])
        {
            $mailto = $this->headerOptions['Reply-To'];
        }
        // Kopie versenden an den originalen Absender...
         // das Versenden in UTF8 funktioniert noch nicht bei allen Mailclients (Outlook, GMX)
         if (!mail($mailto, $subject, $this->mail_body, $this->mail_properties))
         {
             return false;
         }
    }
    return true;
}
}
?>
-> Mail wurde an Empfänger verschickt
-> Absender erhielt keine e-mail - Kopie

Gruß
Matze
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

fasse ?!

:-(
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

Hmm, kannst du mal eine neue Rolle machen und der nur 1 Benutzer zuordnen. ( evlt. eine 2. Email-Adresse von dir) und dieser Rolle dann eine Mail schicken.

Gruß
Fasse
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Hallo Fasse,
gleiches Fehlerergebnis.

:-(

Gruß
Matze
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

Hmm, mir gehen so ein bischen die Ideen aus ...

Kannst du mal einen Link zu deiner Seite posten oder per PM schicken.
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Mailversand via admidio

Beitrag von fasse »

Funktioniert der Mailversand auf beiden Seite nicht ?
Auf einer Seite finde ich keine Rolle an die ich schreiben kann. Bei der Anderen kannst du da noch mal unserer Originale email.php hinkopieren.

Gruß
Fasse
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

Hi Fasse,
auf beiden Seiten:

-> Fehlermeldung: "e-mail an Rolle wurde nicht versendet ..."
-> Mail wurde an Empfänger verschickt
-> Absender erhielt keine e-mail - Kopie

Gruß
Matze
matthiashass
Beiträge: 50
Registriert: 28. Jun 2009, 22:57

Re: Mailversand via admidio

Beitrag von matthiashass »

fasse hat geschrieben:Funktioniert der Mailversand auf beiden Seite nicht ?
Auf einer Seite finde ich keine Rolle an die ich schreiben kann. Bei der Anderen kannst du da noch mal unserer Originale email.php hinkopieren.

Gruß
Fasse
-> auf welcher seite findest du keine rolle?
-> bei welcher seite soll ich die originale email.php hinkopieren?
Gesperrt