Saya telah melihat banyak contoh termasuk yang ini .
Saya mendapatkan email tidak ada masalah tetapi tidak ada lampiran. Apakah saya melewatkan konten / jenis tipe file? Semua contoh yang saya lihat hanya menggunakan teks / html sebagai jenis konten.
Inilah yang saya miliki (ditambahkan atas permintaan Stephen)
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';
}
Jawaban:
The
$attachment
argumen untukwp_mail
mengambil file (atau array file) - tapi path file harus sepenuhnya ditentukan. Sebagai contoh:( lihat Codex ). Tampaknya Anda
$_POST['file']
mungkin tidak menentukan path lengkap.Lampiran harus jalur file , bukan url. Berikut ini bekerja untuk saya:
Catatan: Saya juga mengubah
headers
atributnya. Saya tidak sepenuhnya yakin apa yang sedang Anda coba lakukan sebagai contoh, tetapi itu berarti pesan email itu tidak terlihat pada beberapa klien email.sumber
$_Post['file']
sebenarnya adalah URL ke file dan saya telah mengkonfirmasi URL itu benar. Apakah itu dapat diterima?