Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1305376 / SmtpException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security.Permissions; [Serializable] public class SmtpException : Exception, ISerializable { SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure; static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse) { return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse); } static string GetMessageForStatus(SmtpStatusCode statusCode) { switch (statusCode) { default : case SmtpStatusCode.CommandUnrecognized: return SR.GetString(SR.SmtpCommandUnrecognized); case SmtpStatusCode.SyntaxError: return SR.GetString(SR.SmtpSyntaxError); case SmtpStatusCode.CommandNotImplemented: return SR.GetString(SR.SmtpCommandNotImplemented); case SmtpStatusCode.BadCommandSequence: return SR.GetString(SR.SmtpBadCommandSequence); case SmtpStatusCode.CommandParameterNotImplemented: return SR.GetString(SR.SmtpCommandParameterNotImplemented); case SmtpStatusCode.SystemStatus: return SR.GetString(SR.SmtpSystemStatus); case SmtpStatusCode.HelpMessage: return SR.GetString(SR.SmtpHelpMessage); case SmtpStatusCode.ServiceReady: return SR.GetString(SR.SmtpServiceReady); case SmtpStatusCode.ServiceClosingTransmissionChannel: return SR.GetString(SR.SmtpServiceClosingTransmissionChannel); case SmtpStatusCode.ServiceNotAvailable: return SR.GetString(SR.SmtpServiceNotAvailable); case SmtpStatusCode.Ok: return SR.GetString(SR.SmtpOK); case SmtpStatusCode.UserNotLocalWillForward: return SR.GetString(SR.SmtpUserNotLocalWillForward); case SmtpStatusCode.MailboxBusy: return SR.GetString(SR.SmtpMailboxBusy); case SmtpStatusCode.MailboxUnavailable: return SR.GetString(SR.SmtpMailboxUnavailable); case SmtpStatusCode.LocalErrorInProcessing: return SR.GetString(SR.SmtpLocalErrorInProcessing); case SmtpStatusCode.UserNotLocalTryAlternatePath: return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath); case SmtpStatusCode.InsufficientStorage: return SR.GetString(SR.SmtpInsufficientStorage); case SmtpStatusCode.ExceededStorageAllocation: return SR.GetString(SR.SmtpExceededStorageAllocation); case SmtpStatusCode.MailboxNameNotAllowed: return SR.GetString(SR.SmtpMailboxNameNotAllowed); case SmtpStatusCode.StartMailInput: return SR.GetString(SR.SmtpStartMailInput); case SmtpStatusCode.TransactionFailed: return SR.GetString(SR.SmtpTransactionFailed); case SmtpStatusCode.ClientNotPermitted: return SR.GetString(SR.SmtpClientNotPermitted); case SmtpStatusCode.MustIssueStartTlsFirst: return SR.GetString(SR.SmtpMustIssueStartTlsFirst); } } public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode)) { this.statusCode = statusCode; } public SmtpException(SmtpStatusCode statusCode, string message) : base(message) { this.statusCode = statusCode; } public SmtpException() : this(SmtpStatusCode.GeneralFailure) { } public SmtpException(string message) : base(message) { } public SmtpException(string message, Exception innerException) : base(message, innerException) { } protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext) { statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status"); } internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage)) { this.statusCode = statusCode; } internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse)) { } ///[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){ base.GetObjectData(serializationInfo, streamingContext); serializationInfo.AddValue("Status", (int)statusCode, typeof(int)); } public SmtpStatusCode StatusCode { get { return this.statusCode; } set { statusCode = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security.Permissions; [Serializable] public class SmtpException : Exception, ISerializable { SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure; static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse) { return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse); } static string GetMessageForStatus(SmtpStatusCode statusCode) { switch (statusCode) { default : case SmtpStatusCode.CommandUnrecognized: return SR.GetString(SR.SmtpCommandUnrecognized); case SmtpStatusCode.SyntaxError: return SR.GetString(SR.SmtpSyntaxError); case SmtpStatusCode.CommandNotImplemented: return SR.GetString(SR.SmtpCommandNotImplemented); case SmtpStatusCode.BadCommandSequence: return SR.GetString(SR.SmtpBadCommandSequence); case SmtpStatusCode.CommandParameterNotImplemented: return SR.GetString(SR.SmtpCommandParameterNotImplemented); case SmtpStatusCode.SystemStatus: return SR.GetString(SR.SmtpSystemStatus); case SmtpStatusCode.HelpMessage: return SR.GetString(SR.SmtpHelpMessage); case SmtpStatusCode.ServiceReady: return SR.GetString(SR.SmtpServiceReady); case SmtpStatusCode.ServiceClosingTransmissionChannel: return SR.GetString(SR.SmtpServiceClosingTransmissionChannel); case SmtpStatusCode.ServiceNotAvailable: return SR.GetString(SR.SmtpServiceNotAvailable); case SmtpStatusCode.Ok: return SR.GetString(SR.SmtpOK); case SmtpStatusCode.UserNotLocalWillForward: return SR.GetString(SR.SmtpUserNotLocalWillForward); case SmtpStatusCode.MailboxBusy: return SR.GetString(SR.SmtpMailboxBusy); case SmtpStatusCode.MailboxUnavailable: return SR.GetString(SR.SmtpMailboxUnavailable); case SmtpStatusCode.LocalErrorInProcessing: return SR.GetString(SR.SmtpLocalErrorInProcessing); case SmtpStatusCode.UserNotLocalTryAlternatePath: return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath); case SmtpStatusCode.InsufficientStorage: return SR.GetString(SR.SmtpInsufficientStorage); case SmtpStatusCode.ExceededStorageAllocation: return SR.GetString(SR.SmtpExceededStorageAllocation); case SmtpStatusCode.MailboxNameNotAllowed: return SR.GetString(SR.SmtpMailboxNameNotAllowed); case SmtpStatusCode.StartMailInput: return SR.GetString(SR.SmtpStartMailInput); case SmtpStatusCode.TransactionFailed: return SR.GetString(SR.SmtpTransactionFailed); case SmtpStatusCode.ClientNotPermitted: return SR.GetString(SR.SmtpClientNotPermitted); case SmtpStatusCode.MustIssueStartTlsFirst: return SR.GetString(SR.SmtpMustIssueStartTlsFirst); } } public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode)) { this.statusCode = statusCode; } public SmtpException(SmtpStatusCode statusCode, string message) : base(message) { this.statusCode = statusCode; } public SmtpException() : this(SmtpStatusCode.GeneralFailure) { } public SmtpException(string message) : base(message) { } public SmtpException(string message, Exception innerException) : base(message, innerException) { } protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext) { statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status"); } internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage)) { this.statusCode = statusCode; } internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse)) { } ///[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){ base.GetObjectData(serializationInfo, streamingContext); serializationInfo.AddValue("Status", (int)statusCode, typeof(int)); } public SmtpStatusCode StatusCode { get { return this.statusCode; } set { statusCode = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceContainer.cs
- ReadOnlyHierarchicalDataSource.cs
- DESCryptoServiceProvider.cs
- GroupStyle.cs
- XmlRawWriterWrapper.cs
- StrokeNodeEnumerator.cs
- LayoutUtils.cs
- Comparer.cs
- GlyphingCache.cs
- SqlServer2KCompatibilityCheck.cs
- DataSetMappper.cs
- LoginUtil.cs
- AnnotationResourceChangedEventArgs.cs
- Directory.cs
- ExclusiveHandleList.cs
- SchemaTableOptionalColumn.cs
- ObjectViewQueryResultData.cs
- LocalizabilityAttribute.cs
- TextParagraph.cs
- ContextInformation.cs
- DataGridBoolColumn.cs
- WebResourceAttribute.cs
- JsonQueryStringConverter.cs
- WrappedReader.cs
- LinkedDataMemberFieldEditor.cs
- ReversePositionQuery.cs
- MultiTargetingUtil.cs
- MethodBody.cs
- RadioButtonFlatAdapter.cs
- HandleExceptionArgs.cs
- UnionCodeGroup.cs
- SchemaElementDecl.cs
- SimpleBitVector32.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlReflectionMember.cs
- DataPagerFieldItem.cs
- ObjectFullSpanRewriter.cs
- XmlHierarchicalDataSourceView.cs
- ConnectionManagementElementCollection.cs
- ListViewUpdatedEventArgs.cs
- KeyboardEventArgs.cs
- ListBindableAttribute.cs
- AtomPub10ServiceDocumentFormatter.cs
- NamespaceMapping.cs
- RepeaterItemCollection.cs
- SimplePropertyEntry.cs
- SemanticResultValue.cs
- CreatingCookieEventArgs.cs
- SizeConverter.cs
- SystemTcpStatistics.cs
- ActivitySurrogateSelector.cs
- TrackBarRenderer.cs
- EntityCommandExecutionException.cs
- SchemaTableColumn.cs
- WebConfigurationHost.cs
- RepeatBehaviorConverter.cs
- ChangePassword.cs
- OutOfMemoryException.cs
- LicenseManager.cs
- PanelStyle.cs
- ServiceAuthorizationBehavior.cs
- LogAppendAsyncResult.cs
- ConfigXmlComment.cs
- FramingDecoders.cs
- ReferenceSchema.cs
- SystemResourceKey.cs
- CompilationSection.cs
- Stack.cs
- DataColumn.cs
- BatchStream.cs
- TaskFileService.cs
- Delegate.cs
- SafeSerializationManager.cs
- ByteStorage.cs
- PasswordTextNavigator.cs
- RTTypeWrapper.cs
- PersonalizationStateInfoCollection.cs
- CfgParser.cs
- ClientSettings.cs
- FixedHyperLink.cs
- MaterialGroup.cs
- XPathDocumentNavigator.cs
- InProcStateClientManager.cs
- ParentQuery.cs
- DataServiceSaveChangesEventArgs.cs
- bidPrivateBase.cs
- ReflectionUtil.cs
- PublisherMembershipCondition.cs
- StorageMappingFragment.cs
- HashCodeCombiner.cs
- TypedElement.cs
- UnsafeNativeMethods.cs
- WebPartMenuStyle.cs
- Debug.cs
- BindingMemberInfo.cs
- Control.cs
- BatchParser.cs
- HttpContext.cs
- WeakReference.cs
- HashMembershipCondition.cs