簡體   English   中英

如何為php,html電子郵件模板添加正文背景顏色

[英]How to add a body background color to php, html email template

所以我有一個確認電子郵件模板,正在發送白色背景但我想讓它變灰但我不知道如何在php文件中添加這個,其中下面的電子郵件功能是

$headers = "From: " . stripslashes_deep( html_entity_decode( $from_name, ENT_COMPAT, 'UTF-8' ) ) . " <$from_email>\r\n";
$headers .= "Reply-To: " . $from_email . "\r\n";
//$headers  .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";
$headers = apply_filters( 'give_admin_donation_notification_headers', $headers, $payment_id, $payment_data );

$attachments = apply_filters( 'give_admin_donation_notification_attachments', array(), $payment_id, $payment_data );

$message = give_get_donation_notification_body_content( $payment_id, $payment_data );

我可以在標題后的任何地方添加一個html正文顏色標記嗎?

這是give_get_donation_notification_body_content中的代碼

function give_get_donation_notification_body_content( $payment_id = 0, $payment_data = array() ) {

$user_info = maybe_unserialize( $payment_data['user_info'] );
$email     = give_get_payment_user_email( $payment_id );

if ( isset( $user_info['id'] ) && $user_info['id'] > 0 ) {
    $user_data = get_userdata( $user_info['id'] );
    $name      = $user_data->display_name;
} elseif ( isset( $user_info['first_name'] ) && isset( $user_info['last_name'] ) ) {
    $name = $user_info['first_name'] . ' ' . $user_info['last_name'];
} else {
    $name = $email;
}

$gateway = give_get_gateway_admin_label( get_post_meta( $payment_id, '_give_payment_gateway', true ) );

$default_email_body = esc_html__( 'Hello', 'give' ) . "\n\n";
$default_email_body .= esc_html__( 'A donation has been made.', 'give' ) . "\n\n";
/* translators: %s: form plural label */
$default_email_body .= sprintf( esc_html__( '%s sold:', 'give' ), give_get_forms_label_plural() ) . "\n\n";
$default_email_body .= esc_html__( 'Donor:', 'give' ) . ' ' . html_entity_decode( $name, ENT_COMPAT, 'UTF-8' ) . "\n";
$default_email_body .= esc_html__( 'Amount:', 'give' ) . ' ' . html_entity_decode( give_currency_filter( give_format_amount( give_get_payment_amount( $payment_id ) ) ), ENT_COMPAT, 'UTF-8' ) . "\n";
$default_email_body .= esc_html__( 'Payment Method:', 'give' ) . ' ' . $gateway . "\n\n";
$default_email_body .= esc_html__( 'Thank you', 'give' );

$email = give_get_option( 'donation_notification' );
$email = isset( $email ) ? stripslashes( $email ) : $default_email_body;

$email_body = give_do_email_tags( $email, $payment_id );

return apply_filters( 'give_donation_notification', wpautop( $email_body ), $payment_id, $payment_data );

}

你的問題是“如何在正文電子郵件中添加html顏色標簽”,不是嗎?

根據我的經驗,使用PHP發送電子郵件為html。 首先,我們需要了解客戶:

  1. 你的客戶端操作系統:win,linux,android,mac,iphone等

  2. 您的客戶端電子郵件應用程序:thunderbird,firefox瀏覽器,chrome瀏覽器,Ms outlook等

  3. 你的客戶端EMAIL服務器:gmail,yahoo等

一切都有不同的問題。 要了解更多信息,請閱讀此鏈接https://css-tricks.com/using-css-in-html-emails-the-real-story/

所以你能做的最好的事情是“盡可能為所有電子郵件客戶端設計最好的外觀”

而你的問題是

  1. “我可以在電子郵件模板中添加背景顏色嗎?”

答:是的,你可以

  1. “我可以在HTML標簽中添加Class / ID,然后使用CSS來設置樣式嗎?”

答:是的,你可以,但是有幾個電子郵件服務器不允許你這樣做,就像gmail一樣

  1. “我可以造型<* body>,並在<* head>中寫一些東西,或者只是寫<* html>?”

答:是的,你可以,但要阻止寫<* html>,<* body>,<* head>,直接從div或你的內容開始。

所以最好的方法是使用內聯樣式為每個html標簽設置樣式

$default_email_body = "<div style=\"background-color: grey;\">
<h1 style=\"color: red;\">email title</h1>
<p style=\"font-size: 8px;\">body emailllllllllllllllllll</p>
</div>";

嘗試發送該HTML

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM