Code:
/ DotNET / DotNET / 8.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
- ResolvePPIDRequest.cs
- SubMenuStyleCollection.cs
- DataGridState.cs
- DataTableCollection.cs
- NodeLabelEditEvent.cs
- EmptyQuery.cs
- ListArgumentProvider.cs
- ListViewItem.cs
- CurrentChangingEventManager.cs
- EditorZoneAutoFormat.cs
- LongPath.cs
- AsymmetricKeyExchangeDeformatter.cs
- ConfigDefinitionUpdates.cs
- MutexSecurity.cs
- EndEvent.cs
- LineInfo.cs
- WebResourceAttribute.cs
- ResourcesGenerator.cs
- WindowsFormsHostAutomationPeer.cs
- DataControlFieldCollection.cs
- Type.cs
- LocalizationComments.cs
- SqlTypeSystemProvider.cs
- SByte.cs
- ApplicationDirectory.cs
- util.cs
- CatalogPartCollection.cs
- Types.cs
- QueryGeneratorBase.cs
- TextMetrics.cs
- safePerfProviderHandle.cs
- ServiceHostingEnvironment.cs
- ExpressionBuilderCollection.cs
- Viewport2DVisual3D.cs
- PasswordDeriveBytes.cs
- OleCmdHelper.cs
- ColorEditor.cs
- SafeFileHandle.cs
- PasswordBox.cs
- LinqDataSource.cs
- ProfileServiceManager.cs
- TraceHandlerErrorFormatter.cs
- XmlStreamStore.cs
- GridToolTip.cs
- ToolStripArrowRenderEventArgs.cs
- KeyboardEventArgs.cs
- WebPartDeleteVerb.cs
- ColorTranslator.cs
- GridItemPattern.cs
- ResourceDisplayNameAttribute.cs
- DeobfuscatingStream.cs
- HtmlHead.cs
- ClipboardData.cs
- XmlILAnnotation.cs
- ItemCheckEvent.cs
- XmlDataSourceNodeDescriptor.cs
- Type.cs
- IdleTimeoutMonitor.cs
- WinEventHandler.cs
- RectAnimation.cs
- ActivationArguments.cs
- TextElementEnumerator.cs
- BufferModeSettings.cs
- GridViewDeleteEventArgs.cs
- TextBox.cs
- WorkItem.cs
- CookieProtection.cs
- Int32RectValueSerializer.cs
- InvalidWMPVersionException.cs
- NameNode.cs
- XmlDataSourceView.cs
- OutOfMemoryException.cs
- DomNameTable.cs
- XmlCollation.cs
- keycontainerpermission.cs
- XmlUtilWriter.cs
- PersonalizableTypeEntry.cs
- ActivityInstanceMap.cs
- InstanceDataCollection.cs
- XamlGridLengthSerializer.cs
- SineEase.cs
- CopyOnWriteList.cs
- XmlSchemaExporter.cs
- AndCondition.cs
- PassportIdentity.cs
- ScriptingWebServicesSectionGroup.cs
- MeshGeometry3D.cs
- BitmapFrame.cs
- TranslateTransform3D.cs
- TypeValidationEventArgs.cs
- CustomCategoryAttribute.cs
- Section.cs
- InternalSafeNativeMethods.cs
- StringBlob.cs
- DbCommandDefinition.cs
- KeyValueInternalCollection.cs
- BufferedGraphics.cs
- FixedTextContainer.cs
- AssemblyCacheEntry.cs
- MemoryFailPoint.cs