Verwenden von wp_mail(), um E-Mails und Anhänge zu behandeln. Ich bevorzuge es, wenn die hochgeladenen Anhänge vorübergehend gespeichert und die gelöschten nach dem Senden der E-Mails gelöscht werden. Derzeit werden die Uploads/Anhänge auf dem Server gespeichert. Wie kann man das verhindern?Wordpress wp_mail vorübergehend Anlagen speichern und löschen nach E-Mail gesendet
if(isset($_POST[ 'Save' ])) {
function my_custom_email_content_type($content_type) {
return 'text/html';
}
if (! function_exists('wp_handle_upload')) {
require_once(ABSPATH . 'wp-admin/includes/file.php');
}
$files = $_FILES[ 'my_files' ];
$upload_overrides = array('test_form' => false);
$attachments = array();
foreach ($files['name'] as $key => $value) {
if ($files[ 'name' ][ $key ]) {
$file = array(
'name' => $files[ 'name' ][ $key ],
'type' => $files[ 'type' ][ $key ],
'tmp_name' => $files[ 'tmp_name' ][ $key ],
'error' => $files[ 'error' ][ $key ],
'size' => $files[ 'size' ][ $key ]
);
$movefile = wp_handle_upload(
$file,
$upload_overrides
);
$attachments[] = $movefile[ 'file' ];
}
}
$to = '[email protected]';
$subject = 'Contact Us';
$message = 'Haiii';
$headers[] = 'From: ' . get_option('blogname') . ' <[email protected]>';
add_filter(
'wp_mail_content_type',
'my_custom_email_content_type'
);
$wp_mail_return = wp_mail(
$to,
$subject,
$message,
$headers,
$attachments
);
if($wp_mail_return) {
echo 'Mail send';
} else {
echo 'Failed';
}
remove_filter(
'wp_mail_content_type',
'my_custom_email_content_type'
);
}
nicht entkoppeln nicht nur delet der Dateiname? Vielleicht bin ich falsch. –
Es tut. Ich glaube jedoch nicht, dass ein Post mit den Dateien verbunden ist, basierend auf der Dokumentation: https://codex.wordpress.org/Function_Reference/wp_handle_upload –