开发者

Resolving 'The specified string is not in the form required for a subject.'

开发者 https://www.devze.com 2023-04-01 18:00 出处:网络
I have a class that sends an Email (MailMessage) b开发者_JAVA技巧ut I get the following error: \"The specified string is not in the form required for a subject.\"

I have a class that sends an Email (MailMessage) b开发者_JAVA技巧ut I get the following error:

"The specified string is not in the form required for a subject."

Is there a handy dandy method to sanitize the strings or do I have to write my own?


I haven't personally tried it, but according to this, you only need:

subject = subject.Replace('\r', ' ').Replace('\n', ' ');

or something equivalent.

Internally, the MailMessage class will check the subject with:

if (value != null && MailBnfHelper.HasCROrLF(value)) 
{
   throw new ArgumentException(SR.GetString(SR.MailSubjectInvalidFormat));
}

So the only limitation (for now) happens to be the presence of CR or LF.


Also there is a limit of 168 characters so you should check for that too.

UPDATE: sorry this is complete bullshit :) It must have been a line break in my case.


For VB.NET

subject = subject.Replace(vbNewLine, "")


I know this has already answered, but it goes:

First, you need to trim the subject then account for the subject max length (What is the email subject length limit?):

subject = subject.Trim();
subject = subject.Substring(0, Math.Min(subject.Length, 78));

This will remove any new lines or empty spaces at the beginning and the end. Then Substring is used to restrict the subject length.

0

精彩评论

暂无评论...
验证码 换一张
取 消