अनुलग्नकों के साथ wp_mail का उपयोग करना लेकिन कोई अनुलग्नक प्राप्त नहीं हुआ


15

मैं इस एक सहित कई उदाहरणों को देख रहा हूं ।

मुझे ईमेल की कोई समस्या नहीं है लेकिन कोई अटैचमेंट नहीं हैं। क्या मुझे फ़ाइल प्रकार की सामग्री / प्रकार याद आ रही है? मैंने जो भी उदाहरण देखे हैं, वे केवल टेक्स्ट / html का उपयोग सामग्री प्रकार के रूप में करते हैं।

यहाँ मेरे पास है (स्टीफन के अनुरोध पर जोड़ा गया)

if( isset( $_POST['to'] ) && isset( $_POST['from'] ) ) {
global $wpdb;

$to = $_POST['to'];
$from = $_POST['from']; 
$name = get_bloginfo('name');
$attachment = $_POST['file'];
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: multipart/mixed; charset=iso-8859-1' . "\r\n";

$headers .= 'From: ' . $name . ' <' . $from . '>' . "\r\n";   
$subject = 'Send to Kindle';
$msg = 'Yay! Your book has <a href="http://yahoo.com">arrived</a>';

$mail_attachment = array( $attachment );
wp_mail($to, $subject, $msg, $headers, $mail_attachment);
echo 'Email sent';
} else {
echo 'Email not sent';
}

क्या आपने जो कोशिश की है उसके बारे में कुछ कोड पोस्ट कर सकते हैं?
स्टीफन हैरिस

हाय स्टीफन, बस कोड के साथ पोस्ट को अपडेट किया। धन्यवाद!
tbm

जवाबों:


27

$attachmentके लिए तर्क wp_mailएक फ़ाइल (या फ़ाइलों की सरणी) लेता है - लेकिन फ़ाइल पथ पूरी तरह से निर्दिष्ट किया जाना है। उदाहरण के लिए:

<?php
   $attachments = array(WP_CONTENT_DIR . '/uploads/file_to_attach.zip');
   $headers = 'From: My Name <myname@mydomain.com>' . "\r\n";
   wp_mail('test@test.com', 'subject', 'message', $headers, $attachments);
?>

( कोडेक्स देखें )। ऐसा लगता है कि आपका $_POST['file']शायद पूर्ण पथ निर्दिष्ट नहीं कर रहा है।

लगाव एक फ़ाइल पथ के लिए है , एक यूआरएल नहीं। निम्नलिखित ने मेरे लिए काम किया:

$to = $_POST['to'];
$from = $_POST['from']; 
$name = get_bloginfo('name');

$headers = 'From: My Name <myname@mydomain.com>' . "\r\n";

$subject = 'Send to Kindle';

$msg = 'Yay! Your book has <a href="http://yahoo.com">arrived</a>';

$mail_attachment = array(WP_CONTENT_DIR . '/uploads/2012/03/image.png');   

wp_mail($to, $subject, $msg, $headers, $mail_attachment);

नोट: मैंने headersविशेषता भी बदल दी है। मुझे पूरी तरह से यकीन नहीं है कि आप जो उदाहरण दे रहे हैं वह करने की कोशिश कर रहा था, लेकिन इसका मतलब था कि ईमेल का संदेश कुछ ईमेल क्लाइंट पर दिखाई नहीं दे रहा था।


धन्यवाद स्टीफन को फॉलो करने के लिए ... ओके $_Post['file']वास्तव में फ़ाइल का URL है और मैंने पुष्टि की है कि URL सही है। क्या यह स्वीकार्य है?
tbm

नहीं, अद्यतन उत्तर देखें :)
स्टीफन हैरिस

इसका मतलब है कि मैं उन्हें एक अटैचमेंट नहीं भेज सकता जो कि कहीं और होस्ट किया गया है जैसे कि अमेजन S3? मुझे उससे डर है। मैं बस लोगों को एक वेब पेज से सीधे जलाने के लिए एक पीडीएफ ईमेल करने का विकल्प देने की कोशिश कर रहा हूं। किसी भी तरह मैं इसे बाद में कोशिश करूँगा और वापस रिपोर्ट करूँगा।
tbm

आप दूरस्थ फ़ाइल पढ़ सकते हैं, फिर उसे संलग्न कर सकते हैं? यहाँ एक उदाहरण है । वास्तव में आप इसे कैसे कर सकते हैं / सबसे अच्छा अभ्यास एसओ के लिए एक प्रश्न होगा।
स्टीफन हैरिस

बहुत बहुत धन्यवाद स्टीफन मैंने आपके समाधान की कोशिश की और यह काम किया। अब ... मुझे यह पता लगाना है कि कहीं और से अटैचमेंट कैसे भेजें। जहां देखने के लिए सूचक के लिए धन्यवाद!
tbm
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.