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
- PlainXmlSerializer.cs
- BrowserCapabilitiesFactoryBase.cs
- ExpressionBuilder.cs
- GenerateScriptTypeAttribute.cs
- FontWeightConverter.cs
- ToolStripSplitStackLayout.cs
- HttpApplicationStateBase.cs
- ContainerParaClient.cs
- Root.cs
- Site.cs
- ProvideValueServiceProvider.cs
- SuppressIldasmAttribute.cs
- XmlSchemaObject.cs
- XmlDocumentType.cs
- TreeView.cs
- WindowsGraphicsCacheManager.cs
- BindingContext.cs
- ToolTipAutomationPeer.cs
- AutoFocusStyle.xaml.cs
- SafeEventHandle.cs
- ChangesetResponse.cs
- ListItemViewControl.cs
- EventLogPermissionEntryCollection.cs
- Marshal.cs
- FunctionNode.cs
- DataSetMappper.cs
- StreamResourceInfo.cs
- RegexCapture.cs
- TabletDeviceInfo.cs
- MemberRelationshipService.cs
- SystemResourceHost.cs
- BaseTreeIterator.cs
- StreamUpdate.cs
- ProcessHost.cs
- ServiceModelActivationSectionGroup.cs
- TextRunProperties.cs
- ManagedWndProcTracker.cs
- AssemblyCollection.cs
- SourceFileInfo.cs
- altserialization.cs
- DataBoundControl.cs
- RelationshipEnd.cs
- RotateTransform3D.cs
- DataGridToolTip.cs
- LookupNode.cs
- ListBoxItemWrapperAutomationPeer.cs
- BooleanConverter.cs
- DefaultTextStoreTextComposition.cs
- CreatingCookieEventArgs.cs
- VisualStyleTypesAndProperties.cs
- OpenTypeCommon.cs
- WmpBitmapDecoder.cs
- CapabilitiesState.cs
- OutputCacheModule.cs
- ContentIterators.cs
- ToolStripDropDownMenu.cs
- WrapperSecurityCommunicationObject.cs
- SmiRecordBuffer.cs
- ProcessHostConfigUtils.cs
- HashSetEqualityComparer.cs
- DateTime.cs
- TrustVersion.cs
- DataSourceCache.cs
- StickyNoteAnnotations.cs
- BlurBitmapEffect.cs
- DBDataPermissionAttribute.cs
- SafeRightsManagementEnvironmentHandle.cs
- ResXResourceWriter.cs
- ProcessThread.cs
- CurrentChangingEventManager.cs
- SqlUserDefinedTypeAttribute.cs
- XmlEventCache.cs
- DispatcherSynchronizationContext.cs
- XamlTypeMapperSchemaContext.cs
- SizeKeyFrameCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- RayHitTestParameters.cs
- ViewStateException.cs
- ConnectionInterfaceCollection.cs
- ObjectParameter.cs
- ApplicationDirectoryMembershipCondition.cs
- FontWeight.cs
- ToolStripContentPanel.cs
- XmlAttributeHolder.cs
- EntityContainerEntitySet.cs
- MsmqIntegrationSecurityElement.cs
- AssociationSet.cs
- NamespaceImport.cs
- RedirectionProxy.cs
- CodeTypeDelegate.cs
- RelationshipEndMember.cs
- DrawTreeNodeEventArgs.cs
- DbProviderConfigurationHandler.cs
- CssTextWriter.cs
- DataViewManagerListItemTypeDescriptor.cs
- CatalogZone.cs
- GridViewHeaderRowPresenter.cs
- StringUtil.cs
- WarningException.cs
- CacheForPrimitiveTypes.cs