PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   phpmailer in wordpress theme anlage mit versenden (https://www.php-resource.de/forum/php-developer-forum/105647-phpmailer-in-wordpress-theme-anlage-mit-versenden.html)

jensgebken 16-07-2016 19:11

phpmailer in wordpress theme anlage mit versenden
 
hallo gemeinschaft,

versuche schon seit einiger zeit eine anlage aus wordpress mit der class.phpmailer zu versenden

PHP-Code:

try {
                
$mail = new PHPMailer(true);

                if (
$settings->email_mode == '1') {
                    
$mail->IsMail();
                } else {
                    
$mail->IsSMTP();
                }
                
$mail->SMTPAuth   true;

                if (
$settings->emailSSL != "false"$mail->SMTPSecure $settings->emailSSL;

                
$mail->Port $settings->SMTP_PORT;
                
$mail->Host $settings->SMTP_HOST;
                
$mail->Username $settings->SMTP_EMAIL;
                
$mail->Password $settings->SMTP_PASS;


                
$mail->AddReplyTo($fromEmail$fromName);
                
$mail->From $fromEmail;
                
$mail->FromName $fromName;

                
$mail->AddAddress($email);
                
$mail->Subject $sub;

                
$mail->AltBody "To view the message, please use an HTML compatible email viewer!";
                
$mail->AddAttachment("test.pdf"); // attachment geändert
                
$mail->MsgHTML($msg);
                
$mail->IsHTML(true);
                
// $mail->CharSet = 'UTF-8';

                 
if (!$mail->Send()){
                    return 
$mail->ErrorInfo;
                 } 

leider schickt er die test.pdf nicht mit

h3ll 16-07-2016 19:40

Verwende den vollständigen Dateipfad als Parameter und nicht nur den Dateinamen.

Und dreh das Error-Reporting hoch. Wenn der PHP eine Datei nicht findet, gibts üblicherweise eine Fehlermeldung. Fehlermeldungen sollte man nicht unterdrücken, wenn man nach Fehlern sucht.

jensgebken 18-07-2016 09:18

hi

habe ich gemacht

$mail->AddAttachment("/www/htdocs/w00fcb5e/meinedomain.de/test.pdf"); // attachment geändert

kommt trotzdem nix mit - keine fehler

jensgebken 18-07-2016 10:24

das ist der passus in der class.phpmailer.php
PHP-Code:

  public function AddAttachment($path$name ''$encoding 'base64'$type 'application/octet-stream') {
    try {
      if ( !@
is_file($path) ) {
        throw new 
phpmailerException($this->Lang('file_access') . $pathself::STOP_CONTINUE);
      }
      
$filename basename($path);
      if ( 
$name == '' ) {
        
$name $filename;
      }

      
$this->attachment[] = array(
        
=> $path,
        
=> $filename,
        
=> $name,
        
=> $encoding,
        
=> $type,
        
=> false,  // isStringAttachment
        
=> 'attachment',
        
=> 0
      
);

    } catch (
phpmailerException $e) {
      
$this->SetError($e->getMessage());
      if (
$this->exceptions) {
        throw 
$e;
      }
      echo 
$e->getMessage()."\n";
      if ( 
$e->getCode() == self::STOP_CRITICAL ) {
        return 
false;
      }
    }
    return 
true;
  }

  
/**
  * Return the current array of attachments
  * @return array
  */
  
public function GetAttachments() {
    return 
$this->attachment;
  } 

und das ist der term in der helpers.php (wordpress)

PHP-Code:

        $fromEmail $settings->SMTP_EMAIL;
        
$fromName $settings->SMTP_NAME;

        if (
$settings->email_mode == '4') {
            
$headers 'From: '.$fromName.' <'.$settings->SMTP_EMAIL.'>' "\r\n";
            
$headers .= 'Content-Type: text/html; charset="UTF-8" \r\n';
            
$stat wp_mail($email$sub$msg$headers);
            return (
$stat) ? 'sent' 'Error with wp mail';
        } else {
            if (!
class_exists('PHPMailer')) require_once dirname__FILE__ ) . '/class.phpmailer.php';

            try {
                
$mail = new PHPMailer(true);

                if (
$settings->email_mode == '1') {
                    
$mail->IsMail();
                } else {
                    
$mail->IsSMTP();
                }
                
$mail->SMTPAuth   true;

                if (
$settings->emailSSL != "false"$mail->SMTPSecure $settings->emailSSL;

                
$mail->Port $settings->SMTP_PORT;
                
$mail->Host $settings->SMTP_HOST;
                
$mail->Username $settings->SMTP_EMAIL;
                
$mail->Password $settings->SMTP_PASS;


                
$mail->AddReplyTo($fromEmail$fromName);
                
$mail->From $fromEmail;
                
$mail->FromName $fromName;

                
$mail->AddAddress($email);
                
$mail->Subject $sub;

                
$mail->AltBody "To view the message, please use an HTML compatible email viewer!";
                
$mail->AddAttachment("/www/htdocs/w00fcb5e/meinedomain.de/test.pdf"); // attachment geändert
                
$mail->MsgHTML($msg);
                
$mail->IsHTML(true);
                
// $mail->CharSet = 'UTF-8';

                 
if (!$mail->Send()){
                    return 
$mail->ErrorInfo;
                 }

                 return  
"sent";
            } catch (
phpmailerException $e) {
                return  
"Exception Error: ".$e->errorMessage() ;
            }
        }

     } 



Alle Zeitangaben in WEZ +2. Es ist jetzt 18:02 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG