Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SetContentFromString() [2/2]

void System.Net.Mail.AttachmentBase.SetContentFromString ( string content,
Encoding encoding,
string mediaType )
inlinepackageinherited

Definition at line 205 of file AttachmentBase.cs.

206 {
207 if (content == null)
208 {
209 throw new ArgumentNullException("content");
210 }
211 if (_part.Stream != null)
212 {
214 }
215 if (string.IsNullOrEmpty(mediaType))
216 {
217 mediaType = "text/plain";
218 }
219 int offset = 0;
220 try
221 {
222 string text = MailBnfHelper.ReadToken(mediaType, ref offset, null);
223 if (text.Length == 0 || offset >= mediaType.Length || mediaType[offset++] != '/')
224 {
225 throw new ArgumentException(System.SR.MediaTypeInvalid, "mediaType");
226 }
227 text = MailBnfHelper.ReadToken(mediaType, ref offset, null);
228 if (text.Length == 0 || offset < mediaType.Length)
229 {
230 throw new ArgumentException(System.SR.MediaTypeInvalid, "mediaType");
231 }
232 }
233 catch (FormatException)
234 {
235 throw new ArgumentException(System.SR.MediaTypeInvalid, "mediaType");
236 }
237 ContentType contentType = new ContentType(mediaType);
238 if (encoding == null)
239 {
240 encoding = ((!MimeBasePart.IsAscii(content, permitCROrLF: false)) ? Encoding.GetEncoding("utf-8") : Encoding.ASCII);
241 }
242 contentType.CharSet = encoding.BodyName;
243 byte[] bytes = encoding.GetBytes(content);
244 _part.SetContent(new MemoryStream(bytes), contentType);
246 {
247 _part.TransferEncoding = TransferEncoding.Base64;
248 }
249 else
250 {
251 _part.TransferEncoding = TransferEncoding.QuotedPrintable;
252 }
253 }
virtual void Close()
Definition Stream.cs:644
static string ReadToken(string data, ref int offset, StringBuilder builder)
static bool IsAscii(string value, bool permitCROrLF)
static bool ShouldUseBase64Encoding(Encoding encoding)
void SetContent(Stream stream)
Definition MimePart.cs:119
static string MediaTypeInvalid
Definition SR.cs:56
Definition SR.cs:7
virtual byte[] GetBytes(char[] chars)
Definition Encoding.cs:781
virtual string BodyName
Definition Encoding.cs:350

References System.Net.Mail.AttachmentBase._part, System.Text.Encoding.ASCII, System.Text.Encoding.BodyName, System.bytes, System.IO.Stream.Close(), System.Net.Mail.AttachmentBase.ContentType, System.Text.Encoding.GetBytes(), System.Text.Encoding.GetEncoding(), System.Net.Mime.MimeBasePart.IsAscii(), System.SR.MediaTypeInvalid, System.offset, System.Net.Mime.MailBnfHelper.ReadToken(), System.Net.Mime.MimePart.SetContent(), System.Net.Mime.MimeBasePart.ShouldUseBase64Encoding(), System.Net.Mime.MimePart.Stream, and System.text.