تغيير عنوان المرسل عند إرسال البريد عبر Gmail في C#
-
28-09-2019 - |
سؤال
لقد استخدمت الرمز التالي لإرسال بريد من تطبيق الويب الخاص بي باستخدام حساب Gmail. سؤالي هو ، هل يمكنني تغيير عنوان المرسل إلى عنوان آخر غير عنوان المرسل الأصلي (Gmail)؟ قانون بلدي على النحو التالي:
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sample@gmail.com", "*******");
كل ما أفعله عديم الفائدة لأنني أتلقى دائمًا بريدًا من sample@gmail.com
. هل من الممكن تغيير ذلك؟
لقد تغيرت إلى mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com");
لكنني تلقيت البريد مع العنوان من sample@gmail.com
وليس من العنوان الجديد "من". أعتقد أن Gmail SMTP يكتب عنوان من العنوان مع بيانات الاعتماد الأصلية.
المحلول
لا يسمح لك Gmail بتغيير ما هو مختلف عن حساب Gmail الخاص بك.
لا يهم ما تستخدمه ، فإنهم يكتشفونه ، قبل نقله. هذا يمنع البريد العشوائي/الخداع.
نصائح أخرى
هذا هو الحل:
- استخدم الرموز أعلاه لتعيين mail.from = new MailAddress (العنوان ، اسم العرض)
- في Gmail ، انتقل إلى إعدادات البريد >> الحسابات والاستيراد.
- أضف حساب البريد الإلكتروني الذي ستستخدمه كمرسل في "إرسال البريد AS". (علامات اسم مستعار)
هذا يعمل بالنسبة لي
نعم فقط استخدم من خاصية MailMessage
على سبيل المثال.
mail.From = "newemail@email.com";
تعديل: أيضًا ، راجع هذا المنشور للحصول على معلومات أكثر تفصيلاً حول كيفية إرسال رسائل البريد الإلكتروني عبر Gmail في C#
إرسال بريد إلكتروني في .NET من خلال Gmail
تعديل: على الرغم من أن هذا يعمل للبريد بشكل عام ، إلا أنه يبدو أن هذا لن ينجح مع Gmail حيث قامت Google بأخذها قبل إرسالها (انظر إجابة Dave Wanta)
إذا كان لديك عدد محدود من المرسلين ، فيمكنك القيام به كما اقترح philip. على سبيل المثال قد يكون لديك customerservice@example.com
, simon@example.com
و philip@example.com
او حتى alias@example.com
. طالما أنهم مرسلون معتمدون على الفعليين gmail.com
موقع يمكنك إرساله منهم.
gmail.com: إرسال بريد من عنوان مختلف
إذا كنت تتوقع إرسالها من مستخدم تعسفي (مثل نموذج خدمة العملاء على موقع ويب يدخل فيه المستخدم بريده الإلكتروني ولا تريدهم إرسال بريد إلكتروني إليك مباشرة) حول أفضل ما يمكنك فعله هو:
msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));
إذا كنت في بيئة خاضعة للرقابة ، فهذا يعمل بشكل رائع ، ولكن يرجى ملاحظة أنني رأيت بعض عملاء البريد الإلكتروني يرسلون إلى العنوان من حتى عند تحديد الرد إلى (لا أعرف أي).
تحقق #56 و #58. قد تكون ذات صلة بما تريد القيام بهhttps://code.google.com/p/google-apps-script-issues/issues/detail؟id=172