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
- BasicHttpSecurityElement.cs
- LocationFactory.cs
- ScrollBar.cs
- TagPrefixInfo.cs
- TextLineResult.cs
- CompressionTransform.cs
- LineServicesCallbacks.cs
- FileSystemWatcher.cs
- ByteArrayHelperWithString.cs
- CodeMethodReturnStatement.cs
- BaseCAMarshaler.cs
- HiddenFieldPageStatePersister.cs
- PersonalizationProvider.cs
- FileInfo.cs
- WaitHandleCannotBeOpenedException.cs
- DataControlHelper.cs
- EventManager.cs
- DateTime.cs
- ThaiBuddhistCalendar.cs
- CodeLinePragma.cs
- ObjectDataSourceEventArgs.cs
- Graphics.cs
- CompiledIdentityConstraint.cs
- InheritanceService.cs
- KeyInterop.cs
- WebBrowserProgressChangedEventHandler.cs
- Int32Rect.cs
- DeviceContext2.cs
- EntityViewGenerationAttribute.cs
- XmlNamespaceDeclarationsAttribute.cs
- View.cs
- ItemsControl.cs
- ServiceThrottlingElement.cs
- PixelFormat.cs
- ZoneMembershipCondition.cs
- DataReaderContainer.cs
- TextServicesDisplayAttribute.cs
- HtmlLink.cs
- PersonalizablePropertyEntry.cs
- Verify.cs
- XpsResourceDictionary.cs
- TypeElement.cs
- MergePropertyDescriptor.cs
- SafeNativeMethods.cs
- NullableLongMinMaxAggregationOperator.cs
- XhtmlBasicLinkAdapter.cs
- StringBuilder.cs
- OleTxTransaction.cs
- SQLDoubleStorage.cs
- CommonDialog.cs
- TagElement.cs
- TextEditorCopyPaste.cs
- HwndSource.cs
- MaterializeFromAtom.cs
- OutputCacheProfileCollection.cs
- SortedSetDebugView.cs
- ConfigurationLocation.cs
- PenThreadWorker.cs
- TaskHelper.cs
- Vector3D.cs
- DataGridView.cs
- EntityTypeBase.cs
- FilterException.cs
- WindowsProgressbar.cs
- ThemeInfoAttribute.cs
- _UriSyntax.cs
- Ref.cs
- WebRequestModuleElementCollection.cs
- IntersectQueryOperator.cs
- versioninfo.cs
- RedistVersionInfo.cs
- SoapCodeExporter.cs
- EventBindingService.cs
- Win32Interop.cs
- SizeAnimation.cs
- DisplayInformation.cs
- Fx.cs
- InputLanguage.cs
- ToolboxItem.cs
- PathSegmentCollection.cs
- ViewPort3D.cs
- IdentityModelStringsVersion1.cs
- ValueExpressions.cs
- InternalResources.cs
- MissingMethodException.cs
- securitycriticaldataClass.cs
- PixelShader.cs
- ExternalCalls.cs
- RuleDefinitions.cs
- SurrogateSelector.cs
- EndpointInfo.cs
- LocalizationParserHooks.cs
- FatalException.cs
- ToolTip.cs
- X509CertificateClaimSet.cs
- ControlAdapter.cs
- DataGridCellsPanel.cs
- CryptoHandle.cs
- SchemaImporterExtension.cs
- NameValueFileSectionHandler.cs