Elxis CMS Forum
Ελληνικό Forum => Πρόσθετα => Topic started by: michalis1984 on February 27, 2021, 13:40:38
-
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) {
-
Η τιμή της μεταβλητής $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 θα δουλεύει χωρίς καμία αλλαγή).
-
Υπέροχος! Σε υπερ-ευχαριστώ! Με κάλυψες απόλυτα.