/ / RestlerMailer का उपयोग Restler क्लास - php, class, swiftmailer, restler के अंदर

RestlerMailer का उपयोग Restler क्लास - php, class, swiftmailer, restler के अंदर करना

Restler के अंदर SwiftMailer का उपयोग करने का तरीका जानने का प्रयास कर रहा है। मुझे लगता है कि मैं इसे गलत तरीके से शामिल कर सकता हूं। प्रति स्विफ्टमेलर दस्तावेज, मुझे बस एक फ़ाइल को शामिल करने की ज़रूरत है एक बार ज़रूरत और उनका ऑटोलोडर सभी जादू करता है, लेकिन मुझे कक्षा मिलती है त्रुटियों को नहीं मिला। माना जाता है Restler अन्य autoloaders के साथ अच्छा खेलता है।

मैंने अपने restler फ़ाइलों में विभिन्न स्थानों में निम्नलिखित कोड की कोशिश की है (index.php में requ_once के साथ-साथ कक्षा के बाकी हिस्सों के साथ कक्षा में भी रखा गया है)।

class Remind {
function post($request_data=NULL) {

[धज्जी]

        require_once("../../Swift/lib/swift_required.php");
$transport = Swift_MailTransport::newInstance();                        // Create the transport; use php mail
$mailer = Swift_Mailer::newInstance($transport);                         // Create the Mailer using your created Transport
$message = Swift_Message::newInstance()                             // Create the message
->setPriority($priority)                                                // Give the message a priority, 1 through 5, 1 being the highest.
->setSubject($subject)                                              // Give the message a subject
->setFrom(array($from_email => $from_name))                          // Set the From address with an associative array
->setTo(array($to_email => $to_name))                                // Set the To addresses with an associative array
->setReadReceiptTo(SYS_EMAIL)                                          // Send read receipts to Support
->setBody("Here is the message itself")                            // Give it a body
->addPart("<q>Here is the message itself</q>", "text/html")        // And optionally an alternative body
;
$result = $mailer->send($message);                                    // Send the message
}
}

त्रुटि:

Fatal error:  Class "Swift_MailTransport" not found in /home/[snip]/public_html/[snip].php on line 63

उत्तर:

जवाब के लिए 2 № 1

स्विफ्ट को शामिल करने के लिए हाल ही में मुझे इसी तरह की इच्छा थीएक और कक्षा के अंदर मेलर। समाधान रैपर वर्ग के बाहर swift_required.php को शामिल करना था, फिर स्विफ्ट_Mailer द्वारा विस्तारित कक्षा बनाएं। इसमें आप Swift_Message क्लास का संदर्भ दे सकते हैं:

require "path/to/swift_mailer/library/lib/swift_required.php";

class Remind extends Swift_Mailer {
function post($request_data=NULL) {
$transport = Swift_SmtpTransport::newInstance()
->setHost("host")
->setPort("port")
->setUsername("username")
->setPassword("password")

$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setPriority($priority)
->setSubject($subject)
->setFrom(array($from_email => $from_name))
->setTo(array($to_email => $to_name))
->setReadReceiptTo(SYS_EMAIL)
->setBody("Here is the message itself")
->addPart("<q>Here is the message itself</q>", "text/html")
;
$result = $mailer->send($message);
}
}

जवाब के लिए 0 № 2

रेस्टलर 3 आरसी 4 (वर्तमान में v3 शाखा में उपलब्ध) से शुरू करना आप संगीतकार के ऑटोलोडर का उपयोग कर सकते हैं।

निम्न composer.json का उपयोग करें और Restler और SwifftMailer दोनों को स्थापित करें

{
"require" : {
"luracast/restler" : "3.x-dev",
"swiftmailer/swiftmailer" : "4.1.7"
}
}

संगीतकार के बारे में पढ़ें http://getcomposer.org/


जवाब के लिए 0 № 3
//the autoloader is a the swiftmailer downloaded with composer
require_once "vendor/autoload.php";
class Remind {

private $transport;
private $message;

function post{
// Create the Transport
$this->transport = new Swift_SmtpTransport("host", port, "ssl");
$this->transport->setUsername("username");
$this->transport->setPassword("password");

/*
You could alternatively use a different transport such as Sendmail:

// Sendmail
$transport = new Swift_SendmailTransport("/usr/sbin/sendmail -bs");
*/

// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($this->transport);

// Create a message
$this->message = (new Swift_Message("Wonderful Subject"));
$this->message->setFrom("test@test.com");
$this->message->setTo(array("test@test.com" => "test"));
$this->message->setBody("Here is the message itself");
$mailer->send($this->message, $failedRecipients);
echo "message sent";
// Show failed recipients
print_r($failedRecipients);
}
}