Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1 / SmtpException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; 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)) { } ///[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [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; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MediaElement.cs
- InputScopeAttribute.cs
- WebServiceTypeData.cs
- DataGridViewRowCollection.cs
- SortQuery.cs
- ConfigurationManagerInternalFactory.cs
- Color.cs
- SessionPageStatePersister.cs
- X500Name.cs
- DesignerLoader.cs
- StreamUpgradeInitiator.cs
- ACE.cs
- UnsafeCollabNativeMethods.cs
- CodeStatementCollection.cs
- AuthorizationRule.cs
- BitmapEffect.cs
- AvTraceFormat.cs
- RegularExpressionValidator.cs
- ButtonChrome.cs
- ImageClickEventArgs.cs
- CombinedGeometry.cs
- PartitionResolver.cs
- OutOfMemoryException.cs
- ContainerAction.cs
- InputManager.cs
- ContextProperty.cs
- CharacterHit.cs
- RIPEMD160.cs
- DateTimeFormat.cs
- OutputWindow.cs
- SynchronizedDispatch.cs
- FieldTemplateUserControl.cs
- StyleSheetComponentEditor.cs
- RoleGroupCollection.cs
- VolatileResourceManager.cs
- RestClientProxyHandler.cs
- Serializer.cs
- FixedNode.cs
- DataGridTableCollection.cs
- SemanticResultKey.cs
- Model3DGroup.cs
- SettingsProviderCollection.cs
- XPathArrayIterator.cs
- QuadraticBezierSegment.cs
- SQLBytes.cs
- HwndSourceParameters.cs
- TextEffect.cs
- MissingSatelliteAssemblyException.cs
- PeerNameRecord.cs
- WorkflowOperationAsyncResult.cs
- DeviceContexts.cs
- TextParagraphView.cs
- GiveFeedbackEvent.cs
- QuaternionRotation3D.cs
- DriveInfo.cs
- MultipleViewPattern.cs
- ReferenceEqualityComparer.cs
- DeclarativeCatalogPart.cs
- UInt64Converter.cs
- PackageDigitalSignature.cs
- mda.cs
- MimeMultiPart.cs
- WindowProviderWrapper.cs
- ItemContainerPattern.cs
- BoundField.cs
- EntityAdapter.cs
- EventDescriptor.cs
- ToolStripPanel.cs
- FullTextState.cs
- Transform.cs
- StatusBar.cs
- Directory.cs
- BezierSegment.cs
- InvalidPrinterException.cs
- RectAnimationUsingKeyFrames.cs
- PropertyInformation.cs
- EmptyElement.cs
- PageCache.cs
- _Rfc2616CacheValidators.cs
- ColumnResizeUndoUnit.cs
- ThreadPool.cs
- PassportAuthenticationEventArgs.cs
- TimeIntervalCollection.cs
- EditingCoordinator.cs
- safelinkcollection.cs
- UserPreferenceChangedEventArgs.cs
- DataBoundLiteralControl.cs
- RequestCache.cs
- ToolStripContentPanel.cs
- Control.cs
- SamlAssertionKeyIdentifierClause.cs
- Matrix.cs
- QueryExpr.cs
- TdsParserHelperClasses.cs
- GacUtil.cs
- PrivateFontCollection.cs
- ToolStripContentPanelRenderEventArgs.cs
- SingleStorage.cs
- SchemaMerger.cs
- BinaryObjectWriter.cs