我让 Windows 应用程序向客户发送电子邮件,一切正常,但电子邮件到达左侧时出现问题。我怎样才能让它从右到左?
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim iphost As IPHostEntry = Dns.GetHostByName(Dns.GetHostName())
Dim Emailmessage As New MailMessage()
Emailmessage.From = New MailAddress("myemail@live.com")
Emailmessage.To.Add("mailto@live.com")
Emailmessage.Subject = "NOOR Phone - مشترك جديد"
Emailmessage.Body = ("اسم المشترك :" & TextBox1.Text & vbNewLine & "تاريخ التسجيل :" & DateTimePicker1.Text & vbNewLine & " الهاتف : " & TextBox3.Text & vbNewLine & "الشركة : " & ComboBox1.Text & vbNewLine & "الدفع الشهري : " & TextBox4.Text & vbNewLine & "رقم الشريحة : " & TextBox5.Text & "")
Dim smtp As New SmtpClient("smtp.live.com")
smtp.Port = 587
smtp.EnableSsl = True
smtp.Credentials = New System.Net.NetworkCredential("myemail@live.com", "password")
smtp.Send(Emailmessage)
End Sub
最佳答案
这是一个老问题,但我想给出自己的答案,因为我最近遇到了这个问题。 在以下段落中:
Emailmessage.Body = ("<div style='direction:rtl'>اسم المشترك :" & TextBox1.Text & vbNewLine & "تاريخ التسجيل :" & DateTimePicker1.Text & vbNewLine & " الهاتف : " & TextBox3.Text & vbNewLine & "الشركة : " & ComboBox1.Text & vbNewLine & "الدفع الشهري : " & TextBox4.Text & vbNewLine & "رقم الشريحة : " & TextBox5.Text & "</div>")
更改<div style='direction:rtl'>
至:<div dir=RTL>
.
它也可以作为:<p dir=RTL>
(不要忘记在最后结束段落)
这是在我自己的项目中对我有用的解决方案:
MailMessage message = new MailMessage();
message.Subject = string.Format($"{model.MessageSubject}");
message.From = new MailAddress(model.MessageFrom);
message.To.Add(new MailAddress(model.MessageTo));
message.Body = string.Format($"<p dir=RTL>{model.MessageBody}</p>");
message.IsBodyHtml = true;
如果您向自己的地址发送虚假邮件并使用 Microsoft Outlook 打开,邮件将按应有的顺序从右到左显示。希望这对某人有帮助。
关于vb.net - 发送电子邮件时从右到左,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335707/