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
- HierarchicalDataSourceDesigner.cs
- VisualStyleElement.cs
- TableParaClient.cs
- ListViewSelectEventArgs.cs
- SchemaComplexType.cs
- LinkAreaEditor.cs
- XmlSignatureManifest.cs
- CapabilitiesPattern.cs
- BidOverLoads.cs
- ListSortDescriptionCollection.cs
- Substitution.cs
- PeerNeighborManager.cs
- SEHException.cs
- CodeNamespaceImportCollection.cs
- WorkflowRuntimeService.cs
- ControlCachePolicy.cs
- ProxyHelper.cs
- TextDecorationCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SspiSecurityTokenProvider.cs
- PostBackOptions.cs
- XmlDocumentFragment.cs
- BitmapEffectInput.cs
- TextServicesPropertyRanges.cs
- TableItemProviderWrapper.cs
- OleDbDataReader.cs
- SocketInformation.cs
- Point4DValueSerializer.cs
- SiteMapDataSourceView.cs
- FactoryGenerator.cs
- AppDomainManager.cs
- CachedPathData.cs
- XmlSerializationWriter.cs
- ReadOnlyState.cs
- CombinedGeometry.cs
- hwndwrapper.cs
- MessageHeaderDescription.cs
- CipherData.cs
- RadioButtonBaseAdapter.cs
- ACL.cs
- DetailsViewModeEventArgs.cs
- IRCollection.cs
- ClientUtils.cs
- ManagementInstaller.cs
- CommandBinding.cs
- SettingsPropertyValue.cs
- EventListenerClientSide.cs
- DataView.cs
- Monitor.cs
- RangeBaseAutomationPeer.cs
- FileSecurity.cs
- translator.cs
- XmlSigningNodeWriter.cs
- DataSourceProvider.cs
- UrlSyndicationContent.cs
- CLSCompliantAttribute.cs
- SqlMethodAttribute.cs
- NativeWrapper.cs
- WebPartPersonalization.cs
- InstanceDataCollectionCollection.cs
- ListControl.cs
- CommentAction.cs
- PathTooLongException.cs
- RemoteHelper.cs
- MethodSignatureGenerator.cs
- SynchronizedInputProviderWrapper.cs
- VisualBasicSettings.cs
- StylusButtonEventArgs.cs
- HttpListenerException.cs
- StatusBarAutomationPeer.cs
- ManagementBaseObject.cs
- PageParserFilter.cs
- GPRECTF.cs
- LineSegment.cs
- Quack.cs
- XmlNodeComparer.cs
- SplashScreenNativeMethods.cs
- OpenTypeLayout.cs
- CodeNamespaceImportCollection.cs
- VisualState.cs
- CodeConditionStatement.cs
- SafeFileMappingHandle.cs
- AssemblyInfo.cs
- ComponentRenameEvent.cs
- ClientCultureInfo.cs
- AsyncOperationContext.cs
- HelpEvent.cs
- FreezableDefaultValueFactory.cs
- MsmqProcessProtocolHandler.cs
- PropertyRef.cs
- autovalidator.cs
- TypeDependencyAttribute.cs
- GuidelineCollection.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TextEncodedRawTextWriter.cs
- DataKey.cs
- StdValidatorsAndConverters.cs
- BamlResourceDeserializer.cs
- DeobfuscatingStream.cs
- RsaKeyIdentifierClause.cs