0

添付ファイル付きのメールを送信するために作業中です。私はphpのデフォルト設定を使用してメールを送信していますが、CakePHPフレームワークを使用しています。

$fromEmail = $from_name." <".$from_email.">";
$this->Email->from = $fromEmail;
$this->Email->to = trim($email);
$this->Email->subject = $subjects[$this->params['action']];
$this->Email->sendAs = 'text';
$this->Email->template = $this->params['action'];
print_r($attachments); exit; // Gave me an empty Array ( )
$this->Email->attachments = $attachments;

$attachments = array( );
            if ( ! empty($this->data['Submit']['files'])) {
                $attach_files = $this->Document->DocumentDocument->find('all', array(
                    'conditions' => array(
                        'MailDocument.Mail_id' => $this->data['Submit']['prop_id'],
                        'MailDocument.id' => $this->data['Submit']['files'],
                    ),
                ));
                $attachments = Set::combine($attach_files, '/PropertyDocument/file', '/PropertyDocument/file_path');
            }

私はcakePHPでファイルパスを定義する必要があることを理解しています。

どこが間違っているのですか?

4

1 に答える 1

2

コンポーネントのattachmentsプロパティに添付するファイルへのパスを含む配列を設定します。

$this->Email->attachments = array(
    TMP . 'att.doc',
    'att2.doc' => TMP . 'some-name'
);

最初のファイルatt.docは同じファイル名で添付されます。att2.doc2番目のファイルでは、実際のファイル名の代わりにエイリアスが添付に使用されることを指定しますsome-name

于 2012-08-17T07:14:39.267 に答える