/// <summary> /// Handle the MAIL FROM:<address> command. /// </summary> private void Mail(SmtpContext context, string argument) { bool addressValid = false; if (context.LastCommand == COMMAND_HELO) { string address = ParseAddress(argument); if (address != null) { try { EmailAddress emailAddress = new EmailAddress(address); context.Message.FromAddress = emailAddress; context.LastCommand = COMMAND_MAIL; addressValid = true; context.WriteLine(MESSAGE_OK); } catch { // This is fine, just fall through. } } // If the address is invalid, inform the client. if (!addressValid) { context.WriteLine(MESSAGE_INVALID_ADDRESS); } } else { context.WriteLine(MESSAGE_INVALID_COMMAND_ORDER); } }
/// <summary> /// Handle the RCPT TO:<address> command. /// </summary> private void Rcpt(SmtpContext context, string argument) { if (context.LastCommand == COMMAND_MAIL || context.LastCommand == COMMAND_RCPT) { string address = ParseAddress(argument); if (address != null) { try { //EmailAddress emailAddress = new EmailAddress(address); // Check to make sure we want to accept this message. //if (recipientFilter.AcceptRecipient(context, emailAddress)) //{ EmailAddress emailAddress = new EmailAddress(address); context.Message.AddToAddress(emailAddress); context.LastCommand = COMMAND_RCPT; context.WriteLine(MESSAGE_OK); //} //else //{ // context.WriteLine(MESSAGE_UNKNOWN_USER); // if (log.IsDebugEnabled) log.Debug(String.Format("Connection {0}: RcptTo address: {1} rejected. Did not pass Address Filter.", context.ConnectionId, address)); //} } catch { context.WriteLine(MESSAGE_INVALID_ADDRESS); } } else { context.WriteLine(MESSAGE_INVALID_ADDRESS); } } else { context.WriteLine(MESSAGE_INVALID_COMMAND_ORDER); } }
/// <summary> /// Handle the RCPT TO:<address> command. /// </summary> private void Rcpt(SmtpContext context, string argument) { if (context.LastCommand == COMMAND_MAIL || context.LastCommand == COMMAND_RCPT) { string address = this.ParseAddress(argument); if (address != null) { try { EmailAddress emailAddress = new EmailAddress(address); context.Message.AddRecipient(emailAddress); context.LastCommand = COMMAND_RCPT; context.WriteLine(MESSAGE_OK); } catch { context.WriteLine(MESSAGE_INVALID_ADDRESS); } } else { context.WriteLine(MESSAGE_INVALID_ADDRESS); } } else { context.WriteLine(MESSAGE_INVALID_COMMAND_ORDER); } }
public void AddRecipient(EmailAddress recipient) { this.recipients.Add(recipient); }
/// <summary>Addes an address to the recipient list.</summary> public void AddToAddress(EmailAddress address) { recipientAddresses.Add(address); }
/// <summary>Addes an address to the recipient list.</summary> public void AddToAddress( EmailAddress address ) { recipientAddresses.Add( address ); }
public void AddRecipient(EmailAddress recipient) { this.recipients.Add(recipient); }