Ελληνικό Forum > Πρόσθετα

Attachment στην συνάρτηση sendmail

(1/1)

michalis1984:
Hello. Προσπαθώ μέσω της συνάρτησης sendmail να στείλω και attachment. Ψάχνωντας λίγο την συνάρτηση στον πυρήνα βρήκα το πιο κάτω. Τι μορφή πρέπει να είναι το attachment; Απλό string variable με το url του αρχείου ή κάτι άλλο; Και αν θέλουμε να στείλουμε 2-3 attachment;

public function sendmail($subject, $body, $alt_body='', $attachment=null, $type='plain', $to=null, $cc=null, $bcc=null, $from=null, $priority=3, $debug=false, $replyto=null) {

datahell:
Η τιμή της μεταβλητής $attachment μπορεί να είναι:
null - κανένα συνημμένο
string - πλήρης διαδρομή προς ένα αρχείο
array - ένα array με πλήρες διαδρομές προς πολλαπλά αρχεία

Παράδειγμα:
$elxis = eFactory::getElxis();
$eFiles = eFactory::getFiles();

//Χωρίς συννημένα
$attachment = null;
//Με ένα συνημμένο που βρίσκεται στο φάκελο "tmp" του repository
$attachment = $eFiles->elxisPath('tmp/file1.pdf', true);
//Με 3 συνημμένα που βρίσκονται σε διάφορες διαδρομές.
$attachment = array(
   $eFiles->elxisPath('tmp/file1.pdf', true),
   $eFiles->elxisPath('media/images/mypicture.jpg', false),
   $eFiles->elxisPath('media/attachments/somedoc.docx', false)
);

$to = 'email@example.com,Name Surname';
$replyto = $elxis->getConfig('MAIL_FROM_EMAIL').','.$elxis->getConfig('MAIL_FROM_NAME');
$subject = 'Mail subject here';
$mail_txt = 'Email text here';

$elxis->sendmail($subject, $mail_txt, '', $attachment, 'plain', $to, null, null, null, 3, false, $replyto);

Μπορείς να στείλεις και σε πολλαπλούς παραλήπτες, να βάλεις CC, BCC, να το στείλεις ως html, και πολλά άλλα. Ρώτα αν θες κάτι άλλο.

* Στη συνάρτηση elxisPath η πρώτη μεταβλητή είναι η σχετική διαδρομή του αρχείου ως προς τον πηγαίο κατάλογο του Elxis ή του repository και η δεύτερη true/false εάν το αρχείο βρίσκεται στο repository ή όχι.
** Αν θες στο $attachment μπορείς να δηλώσεις την πλήρη διαδρομή και χωρίς τη συνάρτηση elxisPath, βάζοντας πχ /home/sites/mysite/public_html/something/file.pdf απλά είναι πολύ πιο εύκολο να χρησιμοποιήσεις την elxisPath και ο κώδικάς σου είναι portable (δηλ. αν μεταφέρεις το site ή βάλεις τον κώδικα και σε άλλο site θα δουλεύει χωρίς καμία αλλαγή).

michalis1984:
Υπέροχος! Σε υπερ-ευχαριστώ! Με κάλυψες απόλυτα.

Navigation

[0] Message Index

Go to full version