سؤال

لدي طلب مكتوب في C# الذي يستخدم Outlook إمكانية التشغيل المتداخل فتح رسالة بريد جديدة قبل مليئة التفاصيل يمكن للمستخدم تحرير يدويا قبل إرساله.

var newMail = (Outlook.MailItem)outlookApplication.CreateItem(
    Outlook.OlItemType.olMailItem);
newMail.To = "example@exam.ple";
newMail.Subject = "Example";
newMail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
newMail.HTMLBody = "<p>Dear Example,</p><p>Example example.</p>";
newMail.Display(false);

عند نفس المستخدم بإنشاء رسالة جديدة يدويا الخط هو Calibri أو أيهما الخط المستخدم تعيين الافتراضي.المشكلة هي أن النص في البريد الإلكتروني التلقائي يظهر في تايمز الرومانية الجديدة الخط الذي لا نريد.

لو عرض مصدر واحد من تسليم رسائل البريد الإلكتروني أستطيع أن أرى أن التوقعات صراحة تعيين الخط في البريد الإلكتروني المصدر:

// Automated
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
    margin:0cm;
    margin-bottom:.0001pt;
    font-size:12.0pt;
    font-family:"Times New Roman";
}

// Manual
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
    margin:0cm;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
}

لماذا هي صيغ مختلفة و كيف يمكنني الحصول على البريد الإلكتروني الآلي لاستخدام المستخدمين الإعدادات الافتراضية?أنا باستخدام الإصدار 11 من تجميعات التوافق كما أن هناك مزيج من Outlook 2003 و 2007 مثبتا.

هل كانت مفيدة؟

المحلول

وبما أنه من رسالة بريد إلكتروني HTML، يمكنك بسهولة تضمين أيا كان التصميم الذي تريده في الجسم HTML الفعلي. وأظن أن ما تقوم به Outlook عند إنشاء رسالة من واجهة المستخدم الرسومية توقعات.

وأنا لا أعرف فعلا كيفية الحصول على إعدادات المستخدم. نظرت من خلال API التوقعات (وهو وحش غريب)، ولكن لم أر أي شيء من شأنه أن يوفر الوصول إلى خصائص الرسالة الافتراضية.

نصائح أخرى

انها محبطة تماما.

انه لا يساعد أن عند جوجل المشكلة هناك عدد لا يحصى من إجابات أقول لك ببساطة نمط النص المغلق.Yeeessss, حسنا, إذا كنت توليد البريد الإلكتروني الكامل ويمكن أن نمط/السيطرة على كامل النص.لكن في حالتك (ولنا) والقصد من ذلك هو إطلاق البريد الإلكتروني مع بعض الأولي النص المستخدم يضيف له النص الخاص.إنه نص إضافي وهو دون شك المقدمة في تايمز الرومانية الجديدة.

الحل هو معالجة المشكلة من اتجاه آخر.وهذا هو إصلاح قاعدة/الأساسية الافتراضي في Outlook إلى أن يكون لدينا الخط المحدد بدلا من تايمز الرومانية الجديدة.

ويمكن تحقيق ذلك من خلال:

  1. فتح كلمة (نعم ، لا Outlook)
  2. انتقل إلى خيارات -> خيارات متقدمة -> خيارات ويب
  3. تغيير الخط الافتراضي في علامة التبويب خطوط

الفيديو هنا:
http://www.youtube.com/watch?v=IC2RvfoMFz8

أنا أقدر هذا لا يساعد إذا كنت تحتاج إلى التحكم أو تغيير الخط برمجيا.ولكن لأولئك الذين يعملون مع العملاء الذين يريدون ببساطة قاعدة البريد الإلكتروني الخط لا يكون Times New Roman كلما رسائل البريد الإلكتروني التي يتم إنشاؤها من رمز ، وهذا قد يساعد.

لقد كانت تجربتي أن خلق البريد الإلكتروني هذا استخدام إعدادات البريد الإلكتروني الافتراضي.

وأنت تحديد بالضبط newMail.HTMLBody إلى قيمة، بدلا من إدراج HTML الخاص في ذلك. أراهن إذا قمت بفحص محتويات HTMLBody انها ستبدأ مع شيء في ذلك، مثل رمز المغلق

ومع ذلك، في أي وقت حاولت قراءة من إحدى القيم البريد الإلكتروني، وسوف المستخدم الخاص بك الحصول على المنبثقة الأمن قائلا "برنامج يحاول access..blah بلاه بلاه"

وأنا واجهت هذا عند محاولة للحفاظ على توقيع المستخدم، لم يتم العثور على وسيلة جيدة للحصول عليه من دون التسبب في موجه الأمن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top